我使用附加組件構建器創建了一個附加組件。我將內容腳本附加到pageMod
中main.js
如何使用附加組件構建器在contentscript中使用contentscript訪問附加到網頁的變量
我的內容腳本計算使用document.createElement()
創建的動態標記的數量。這是通過創建一個到document.createElement()的鉤子來完成的,並通過創建一個腳本標籤將這個函數添加到網頁中。我的代碼如下。
contentscriptFile:
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);
現在我得到未捕獲的異常:ReferenceError: count is not defined
。
如何訪問此count
變量?
但是,如果我聲明爲'var count = 0',警報將顯示0 – user1335906
@ user1335906:這是正確的 - 您的'document.createElement'函數從未被調用,因爲網頁看不到它。查看我答案的最後一段。 –
我應該在哪裏更改document.createElement是否在'LogDocCreateElement()'或'addJSNOde()'對不起,我沒有得到你 – user1335906