コンテンツのスクリプトを使用してカスタムHTMLメニューをページに追加するためのクロム拡張を作成します。コンテンツがうまく動作し、メニューは完璧に動作しますが、私は現在、このように、VARの中からHTMLをロードしています:jQueryを実行する追加読み込み済みHTML
var gacMenu = '';
gacMenu+='<div id="menu">';
gacMenu+='menu content HTML';
gacMenu+='menu content HTML';
gacMenu+='menu content HTML';
gacMenu+='menu content HTML';
gacMenu+='</div>';
し、このようにページに追加:
$("body").append(gacMenu);
ので、私はまだメニュー自体を作成していますが、varからHTMLを編集するのは面倒です。メニューコードだけでHTMLを作成しようとしていましたが、このコードを使用してこのファイルをLOADしてAPPENDします。
$(function() {
$('body').append($('body').load('menu.html'));
});
コンテンツがロードされていますが、.click()や.change()のような他のjquery関数は、ロードされた&添付されたコンテンツでは機能しません。作業シナリオに
、HTMLとjQueryの機能の両方varが同じJSファイルです。ここではHTMLがVARからロードされたときに動作するいくつかのコードがあり、それはHTMLをファイルからロードされたときに動作しません。
$("input:checkbox[name=onoffswitch]").change(function() {
if ($(this).is(':checked')) {
chrome.storage.sync.set({'gacMenuSwitch': '1'}, function(toggleOn){ // Define a variável condificonal do menu para 1
console.log('Switch is ON' + '\n' + 'Menu var is set to 1');
});
} else {
chrome.storage.sync.set({'gacMenuSwitch': '0'}, function(toggleOff){ // Define a variável condificonal do menu para 0
console.log('Switch is OFF' + '\n' + 'Menu var is set to 0');
});
} // fim do if/else
});
これはラメ質問であれば申し訳ありませんが、私は早期によプログラミングの段階。私は何が欠けているのですか?私はコンテンツのスクリプトを使用してHTMLを追加するために行うにはいくつかのことがあった見つける@wOxxOmの助けを借りて
おかげです。私は私の質問を編集しました。すべてがmenu.jsという同じ.jsファイルにありますが、menu.htmlからHTMLを追加しようとすると、menu.jsのコードは機能していないようです。 – SoMeGoD
'load'は非同期なので、' complete'パラメータのための関数にそのコードを入れるべきだと思います: 'load( 'menu.html'、function(){/ * attach event handler * /});' – wOxxOm
実際、私は間違っていました。 .load()はHTMLからコンテンツを取得しないようです。私は負荷を警告()しようとすると、HTMLコンテンツが表示されるはずですが、[オブジェクト] [オブジェクト]が表示されます。 – SoMeGoD