我想创建一个修改window
上的一个值的插件。
我们以一个简单的窗口为例:
<html>
<head>
<title></title>
<script>
window.hello = 1;
</script>
</head>
<body>
</body>
</html>
使用
gBrowser.addEventListener("DOMContentLoaded",
function (e)
{
e.originalTarget.defaultView.hello = 2;
}, false);
不会修改window.hello
的值。含义e.originalTarget.defaultView != window
。
如何访问纯window
?
答案 0 :(得分:2)
e.originalTarget
指的是该页面的文档元素。要访问页面的窗口元素,请使用e.target.defaultView
。但是,为了保持Mozilla安全协议的范围,您必须通过其wrappedJSObject
属性访问窗口对象。总的来说,你要改变变量,如:
e.target.defaultView.wrappedJSObject.hello = 2