Вы можете динамически сгенерировать второй тег сценария и вставить его на страницу, чтобы он не запустился до того, как вы установили cookie. Затем, если вы собираетесь динамически генерировать тег сценария, возможно, было бы даже лучше добавить «? Hash = 1316757967982» в конец URL-адреса src test_cookie.php, чтобы вы могли быть уверены, что ваш сервер получит значение хеш-функции (из URL, а не из cookie). Кроме того, вам не нужно полагаться на время использования файлов cookie и сценариев.
Вот как вы динамически добавляете тег скрипта:
function addScriptTag(url) {
var s = document.createElement(’script’);
s.type=’text/javascript’;
s.src= url;
document.getElementsByTagName(’head’)[0].appendChild(s);
}
addScriptTag("/test_cookie.php?hash=" + new Date());
Нет договора с браузером о том, что он не начнет загружать несколько сценариев одновременно, есть только договор о том, что он будет выполнять статически определенные сценарии в последовательном порядке, поэтому я не думаю, что ваш текущий подход когда-либо гарантирован работать. Параллельная загрузка нескольких сценариев может легко стать нужным вариантом ускорения работы браузера.