このChrome拡張プラグインの開発は初めてです。私はこのクロム拡張を使って新しいプラグインを開発しています。chrome拡張子のcontent_scriptにロードされていないjqueryファイル
私の要件は、jsファイルを持っていないときにコンテンツスクリプトにjquery.jsファイルをロードすることです(例:jquery.jsファイル、fancybox.jsファイルをチェックしています。 。)
コンテンツスクリプトでこのロジックを実装すると、jquery.jsファイルがロードされます。その後、それはコンテンツのスクリプトで動作していません。それは$(または)jQueryが未定義であることを示しています。毎回読み込み中ですが、コンテンツスクリプトでは実行されません。
ここに私が実装したコードがあります。
document.getElementById('someid').onclick = loadJs();
function loadJS() {
if(tyof jQuery == undefined || tyof jQuery != 'function')
{
var jqscript = document.createElement('script');
jqscript.type = 'text/javascript';
jqscript.async = true;
// Src of the script
jqscript.src = "......url to jquery.js file..............";
// Check whether script is loaded or not
jqscript.onload=function(){
if ((!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
console.log("Script loaded - ");
// It is showing error here
alert(typeof jQuery);
}
};
// Get the document header
var head = document.getElementsByTagName('head')[0];
// Add script to header - otherwise IE complains
head.appendChild(jqscript);
}
}
これをお勧めします。
ありがとうございました。
あなたの質問に答えたい人は、あなたの質問とコードを正しく書式設定するための努力をする必要があります。 –
「コンテンツスクリプト」には、さまざまなことがあります。あなたのコードから、コンテンツスクリプトから親文書にjqueryを挿入しようとしているようです。コンテンツスクリプトで親ドキュメント変数へのアクセス権がないため、コンテンツスクリプトでも同様に動作させたい場合は、それはしません。おそらくあなたの質問を書き換えて、親のドキュメントの概念からコンテンツスクリプトを分けることができますか? (0%の比率もどうですか?) – serg