Анализ - Как head.js реализует сериализацию параллельных ресурсов?

С сайта -> здесь

// load files in parallel but execute them in sequence
head.js("file1.js", "file2.js", ... "fileN.js");

Как это реализовано? Я смотрю в load.js -> здесь

Но не могу найти источник, где это реализовано.

Похоже api.load это псевдоним для api.js и определяется дважды.

1 ответ

Если навигатор совместим с async, то именно навигатор обеспечивает порядок и выполнение сценариев, поскольку они просто добавляются в запрошенном порядке (т. Е. 10, ff, chrome).

В противном случае используется хак (взлом текста / кэша), который внедряет скрипты с фальшивым mime/ типом, и, как только они все загружаются (триггеры обратного вызова), повторно вводит их с правильным mime/ типом (но так как URL браузеру уже известно, что контент не переизбирается), что вызывает реальное выполнение / интерпретацию браузером, но на этот раз по порядку (т.е. 6-ie9)

Другие вопросы по тегам