在我的用户脚本中,我使用这段代码来获取 jQuery 和我的其余代码注入并执行:
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
function readyJQuery() {
jQuery.noConflict();
jQuery(document).ready(function() {
//my rest code goes here
})
}
addJQuery(readyJQuery)
这完美地工作。但是当我有两个脚本时,它们都注入了 jQuery 部分。脚本需要分开,因为我不知道谁想使用哪个脚本或两个脚本。
我可以阻止第二个脚本注入 jQuery 并使用第一个脚本中的那个吗?
当第二个脚本直接以:
function addJQuery(callback) {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}
function readyJQuery() {
jQuery.noConflict();
jQuery(document).ready(function() {
//my rest code goes here
})
}
addJQuery(readyJQuery)
我在控制台中收到错误消息:jQuery is undefined
。我如何测试一个不同的脚本是否已经注入了 jQuery,然后等到它准备好?