我已經創建了一個頁面,工人在擴展訪問頁面的頁面,工人
dup = pageWorker.Page({
contentScript: "self.port.on('alert', function(message) {"+
"console.log(message);"+
"document.querySelector('.test-element').title = message;"+
"});",
contentScriptWhen: "ready",
contentURL: "http://example.com/Licznik-beta/addon.html"
});
的元素在「contentScript
」我能與「document
」。 但我不能涉及到window
,或函數或變量。 console.log(window)
in contentScript
return "TypeError: cyclic object value timers.js:43"
。
我不明白它是如何工作的。 有人可以向我解釋嗎?
如何更改它?
編輯
我已經添加了幾行測試:
self.port.on('addon-licznik', function() {
console.log(document);
console.log(window); // TypeError: cyclic object value timers.js:43
runFromAddon(); // ReferenceError: runFromAddon is not defined timers.js:43
});
功能:runFromAddon();
當然有。
二測:
function funSet (tresc) {
var addonScript = document.querySelector(".addon-script");
if (addonScript != undefined) {
document.querySelector('head').removeChild(addonScript);
}
var script = document.createElement("script");
script.className = "addon-script";
script.textContent = tresc;
document.querySelector('head').appendChild(script);
}
function marmo (message) {
console.log(message);
funSet("console.log(window); runFromAddon();");
}
self.port.on('addon-licznik', marmo);
它運作良好。
Window → http://example.com/Licznik-beta/addon.html
runFromAddon-Log
使用'contentScriptFile'而不是'contentScript'。然後你可以看到究竟是哪一行導致了問題。 – willlma 2014-11-03 21:27:42
我在測試中添加了幾行代碼。 – look997 2014-11-05 17:56:07