如果您想要切入点,这里是我的问题: 有什么办法来调用特定的脚本来加载第一个JavaScript?使用JavaScript从页脚加载JQuery
更多详细信息,请阅读以下:
我有一个从我的HTML <body>
底部加载JavaScript文件。不幸的是,头上没有JQuery,所以我必须通过这个JavaScript文件来添加它。
我需要做的是添加一个JQuery lightbox插件。
我的问题是,当我加载页面,有时JQuery不是加载的第一件事。所以我收到错误“jQuery没有定义”。然后,这会为插件中未定义的方法引发更多错误。
这不会一直发生,只是有时候。这使我认为这是一个加载/操作顺序问题。
有没有什么办法可以保证我的JQuery脚本是第一件加载的东西?
这是我的一些JavaScript文件。
//Get head element
var head = document.getElementsByTagName("head")[0];
//Create and insert JQuery
var jquery = document.createElement('script');
jquery.type = 'text/javascript';
jquery.src = 'http://image.iloqal.com/lib/fe6b/m/1/jquery.1.7.2.js';
head.insertBefore(jquery,head.childNodes[4]);
function thescripts() {
var fancybox = document.createElement('script');
fancybox.type = 'text/javascript';
fancybox.src = 'http://image.iloqal.com/ilejquery.fancybox-1.3.4.pack.js';
head.appendChild(fancybox);
var thebody = document.getElementsByTagName('body')[0];
thebody.appendChild(thediv);
thediv.appendChild(theimg);
//Run fancybox
thebody.onload = function() {
$('#lightbox').ready(function() {
$("#lightbox").fancybox().trigger('click');
});
}
};
if(jquery.attachEvent){
jquery.attachEvent("onload",thescripts());
} else {
jquery.onload = thescripts();
}
任何帮助表示赞赏!
RECURSION!为什么我没有想到这个?我不再收到错误,谢谢!虽然,这确实会给我提出一个我不熟悉的新错误。 ''创建'只能在扩展过程中使用',这是onload和附加事件的问题吗? – Dandy
不应该是,但很难确切地说出问题是什么,但如果它是createElement,那么在onload处理程序中应该可以正常工作。另外,整体上应该有某种超时,所以如果jQuery出于某种原因根本不加载,间隔不会永远持续下去,另一方面,如果需要jQuery来正确显示网站,它并不重要! – adeneo