0

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

好的/好的:[对象 XrayWrapper [对象窗口]]

我的问题是如何获取我在 MyObj 对象的函数中创建的那个字符串。我已经尝试打印包装内容的 WrappedJSObject 属性,但这只是返回

好的/好的:[对象窗口]

任何帮助,将不胜感激。另外,是否有 MDN 文档链接可以更好地解释这些内容?

4

1 回答 1

2

问题是您尝试设置window.content无法更改的窗口属性,然后返回window.content. 因此,适当地确定content变量的范围可以解决您的问题;重命名变量也将解决问题。

如果您对为什么示例代码在网页中的工作方式不同感兴趣,那么它在 GM 脚本中会有所不同,那是因为window对于用户而言,脚本是一个包装的对象

于 2011-03-31T22:55:39.370 回答