【发布时间】:2014-05-26 18:56:57
【问题描述】:
在浏览器的控制台中尝试以下代码:
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'http://code.jquery.com/jquery-2.1.1.min.js';
script.async = true;
document.body.appendChild(script);
console.log($);
然后等待几秒钟,然后再次执行此操作:
console.log($);
所以加载 jQuery 需要一段时间。我试过this suggestion,似乎是所有相关问题的共识:
+function loadScript(url, callback)
{
// Adding the script tag to the head as suggested before
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Then bind the event to the callback function.
// There are several events for cross browser compatibility.
script.onreadystatechange = callback;
script.onload = callback;
// Fire the loading
head.appendChild(script);
}("http://code.jquery.com/jquery-1.7.1.min.js", function(){console.log($);});
再一次它不起作用......
第一个console.log($) 应该给出正确的结果。 jQuery 加载并执行后,我可以做些什么来执行函数?
(背景:我正在编写一个 Chrome 扩展程序来修复不使用 jQuery 的页面上的格式。)
【问题讨论】:
-
jsfiddle 似乎对我不起作用。您能否在浏览器的控制台中执行相同的代码并给我截图?
-
有人能解释为什么我的代码不起作用吗?
-
@Matt,这行得通;谢谢。
-
我认为您错过了调用该函数。在这里查看http://snag.gy/ElXTY.jpg
标签: javascript jquery