は、私はjQueryと私のコード注入され、実行の残りの部分を取得するには、このコードを使用します。2つのchromeユーザースクリプトにjQueryインスタンスを1つだけ使用するにはどうすればよいですか?私userscriptsで
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)
これは完璧に動作します。しかし、私は2つのスクリプトを持っているときに、両方ともjQueryの部分を注入します。私は誰がどのスクリプトか両方のスクリプトを使いたいのか分からないので、スクリプトは別々にする必要があります。
2番目のスクリプトの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)
:
は、2番目のスクリプトは、直接に起動するとjQuery is undefined
。 別のスクリプトが既にjQueryを挿入しているかどうかをテストし、準備が整うまで待つことができますか?
テスト済みのコードで回答が更新されました。 –
ありがとうございました! – Brainiac
あなたは大歓迎です。助けてうれしい! –