我只想将 jQuery 从 safari 扩展注入到网页中。但仅限于某些页面,因为将 jQuery 添加为 start-/endscript 会将其注入所有页面,这会使浏览速度变慢。我通过使用它的 onload 函数创建一个脚本标签来尝试它:
var node = document.createElement('script');
node.onload = function(){
initjquerycheck(function($) {
dosomethingusingjQuery($);
});
};
node.async = "async";
node.type = "text/javascript";
node.src = "https://code.jquery.com/jquery-2.0.3.min.js";
document.getElementsByTagName('head')[0].appendChild(node);
检查是否加载了 jquery 我使用:
initjquerycheck: function(callback) {
if(typeof(jQuery) != 'undefined'){
callback(jQuery);
}else {
window.setTimeout(function() { initjquerycheck(callback); }, 100);
}
}
但 typeof(jQuery) 仍未定义。(使用console.log()检查过)。只有当我从调试控制台调用 console.log(typeof(jQuery)) 时,它才会返回“函数”。任何想法如何解决这个问题?提前致谢!