Javascript 在Firefox WebExtension中,如何安全地访问页面脚本的值属性';什么是JS对象?

Javascript 在Firefox WebExtension中,如何安全地访问页面脚本的值属性';什么是JS对象?,javascript,firefox,firefox-addon-webextensions,Javascript,Firefox,Firefox Addon Webextensions,在我的扩展中,我需要访问由页面JavaScript存储的一些数据。 但是,我还需要确保页面不能欺骗我的扩展来运行任意代码。我需要的数据应该存储在绑定到页面窗口的JS对象上的普通旧值属性(如果我理解它们是什么)中,但为了以防万一,我希望确保在存在恶意代码的情况下不会调用任何恶意代码 有没有办法从内容脚本安全地访问这些数据,将JS对象(及其子对象)视为一个简单的字典 我发现有两页可能会提供一些帮助: page描述了获取对页的窗口对象的引用的方法,但这样做是不安全的 页面似乎显示了X射线视觉提供了对

在我的扩展中,我需要访问由页面JavaScript存储的一些数据。 但是,我还需要确保页面不能欺骗我的扩展来运行任意代码。我需要的数据应该存储在绑定到页面窗口的JS对象上的普通旧值属性(如果我理解它们是什么)中,但为了以防万一,我希望确保在存在恶意代码的情况下不会调用任何恶意代码

有没有办法从内容脚本安全地访问这些数据,将JS对象(及其子对象)视为一个简单的字典

我发现有两页可能会提供一些帮助:

  • page描述了获取对页的
    窗口
    对象的引用的方法,但这样做是不安全的
  • 页面似乎显示了X射线视觉提供了对对象值属性的安全访问,但似乎没有解释如何获取页面脚本对象的X射线视觉,至少是从内容脚本而不是实际的chrome代码

是否有办法将这两种方法结合起来,以便安全地访问数据?

如果不指定数据是什么以及如何使用数据,这似乎太宽泛了。对于编写答案,请提供您试图访问的信息的具体示例。通过
wrappedJSObject
访问数据存在安全问题,通常应该避免,这是正确的。它也不兼容跨浏览器。事实上,一个更具体的例子可以帮助你解释它的安全含义。@the8472我不确定我应该在帖子中说些什么。是。。。字典的键(在窗口对象上),其本身是字典数组。其中不应该有函数或任何东西,所有对象都应该像简单的值属性一样创建。但是,我也不希望扩展在某种程度上受到干扰时会受到攻击。只需编写一个初始化示例对象,并初始化要访问的属性以及它们的确切类型。作为代码示例。