延迟javascript的加载,直到jQuery被正确加载

Delay the loading of javascript until jQuery has been properly loaded

本文关键字:加载 jQuery javascript 延迟 直到      更新时间:2023-09-26

我正在尝试编写一个bookmarklet,其中涉及动态添加两个脚本标签,一个用于jQuery,另一个用于jQuery编写的js脚本。我遇到的问题是,即使我首先添加jQuery脚本,js脚本也无法读取,因为浏览器说jQuery未定义。我知道,错误是,jQuery仍然被加载为浏览器添加我的js脚本,结果,浏览器不承认jQuery在js脚本,当它正在执行js脚本。无论如何延迟添加js脚本标签,直到jQuery完全加载后?

谢谢!

你的脚本是什么样子的?

您应该将脚本中的所有操作封装在一个函数中,然后从文档中调用该函数。

例如,将所有内容放在函数myJqueryFunction()中,然后使用:

$(document).ready(function(){
    myJqueryFunction();
});

这使得你的代码只在jQuery完全加载后执行。

或者,您应该能够使用Ajax执行脚本,但请记住,您的脚本必须来自与文档相同的域,否则它将无法访问DOM。

$(document).ready(function(){
    $.ajax("url to your script", {dataType:"script"});
});

大多数Javascript程序员最终做的第一件事是在他们的程序中添加一些代码,类似于:

window.onload = function(){ alert("welcome"); }

其中是您希望在加载页面时立即运行的代码。然而,有问题的是,Javascript代码直到所有图像下载完成(这包括横幅广告)才运行。使用窗口的原因。当你第一次尝试运行你的代码时,首先onload是HTML 'document'还没有加载完成。

希望这些信息有帮助,-从JQuery教程!

您可以使用像LABjs: http://labjs.com/这样的脚本加载器。它支持使用wait延迟其他脚本。

$LAB
.script("jquery.js")
.wait()
.script("script.js");