Я добавляю <script type="text/javascript" src="http://somedomain/somescript.js">
в заголовок документа через jQuery.Вот код, который я использую:
$(document).ready(function () {
var s = document.createElement("script");
s.type = "text/javascript";
s.src = (document.location.protocol == "https:" ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
$("head").append(s);
});
Хотя кажется, что скрипт работает идеально, я не вижу скрипты в заголовке, когда использую FireBug для проверки заголовка документа.Этот фрагмент также не показывает добавленные сценарии:
$('script[src]').each(function(){
console.log(this.src);
});
Это нормально или я что-то здесь не так делаю?Меня беспокоит тот факт, что я вижу другие сценарии в разделе заголовка, которые были ленивыми / динамически загруженными, но не те, которые я добавил.Также интересно, нормально ли загружать сценарии, которые управляют DOM, в функции готовности документа.
ОБНОВЛЕНИЕ
Замена кода с:
$("head").append(s);
на
document.getElementsByTagName("head")[0].appendChild(s);
решает проблему.Полученный DOM правильно отображается в FireBug, а jQuery правильно возвращает теги сценария, которые были добавлены статически / динамически.