アドオンビルダーを使用してアドオンを作成しました。 pageMod
にコンテンツスクリプトを添付しましたmain.js
アドオンビルダを使用してcontentscript in - contentscriptを使用してWebページに添付された変数にアクセスする方法
私のコンテンツスクリプトでは、document.createElement()
を使用して作成されたダイナミックタグの数がカウントされます。これは、document.createElement()へのフックを作成し、スクリプトタグを作成してこの関数をWebページに追加することによって行われます。私のコードは以下の通りです。
contentscriptFile:ReferenceError: count is not defined
:
addJS_Node ("var count=0;");
function LogDocCreateElement()
{
var oldDocumentCreateElement = document.createElement;
document.createElement = function(tagName)
{
var elem = oldDocumentCreateElement.apply (document, arguments);
console.log("Dynamically created a(n)", tagName);
count++;
return elem;
}
}
addJS_Node (null, null, LogDocCreateElement);
function addJS_Node (text, s_URL, funcToRun) {
var D = document;
var scriptNode = D.createElement ('script');
scriptNode.type = "text/javascript";
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
if (funcToRun) scriptNode.textContent = '(' + funcToRun.toString() + ')()';
var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
targ.appendChild (scriptNode);
}
window.addEventListener("load", function() {alert(count) }, false);
今、私がキャッチされない例外を取得しています。
このcount
変数にはどのようにアクセスできますか?
「var count = 0」と宣言した場合、アラートは0と表示されます – user1335906
@ user1335906:正しいのですが、Webページには表示されないため、 'document.createElement'関数は呼び出されません。私の答えの最後の段落を参照してください。 –
私は私が 'unsafeWindow.count ++を含まどこで – user1335906