Firefox 4实现了一个名为XrayWrapper的新安全保护程序,我能够找到的文档对于函数来说,“默认情况下默认情况下将函数创建为安全”
var MyObj = {};
MyObj.Util = {
myFunc : function() {
content = '<table class="tupleList"><tr><td>192.168.1.1</td></tr></table>';
return content;
}
};
content = MyObj.Util.myFunc();
console.log(content);
在Greasemonkey的世界里,上面的日志记录到Firebug
ok / ok:[对象XrayWrapper [对象窗口]]
我的问题是如何获取我在MyObj对象的函数中创建的字符串。我已经尝试打印包装内容的wrappedJSObject属性,但只返回
ok / ok:[对象窗口]
任何帮助将不胜感激。此外,是否有更好地解释这些内容的MDN文档链接?
答案 0 :(得分:2)
问题是您尝试设置window.content
这是一个无法更改的窗口属性,然后您返回window.content
。正确地确定content
变量的范围可以解决您的问题;也重命名变量将解决问题。
如果您对示例代码在网页中的工作方式不同感兴趣,那么它会在GM脚本中运行,这是因为window
用于用户脚本is a wrapped object。