Javascript Firefox插件未定义框架中的变量

Javascript Firefox插件未定义框架中的变量,javascript,dom,firefox-addon,Javascript,Dom,Firefox Addon,因此,基本上我将脚本注入到一个框架中以获得一个特定的变量,但我得到了以下错误:content.exenv2.exerciseframe.singleton未定义 但当我通过firebug控制台访问这个变量时,它就工作了。我还可以从框架中访问其他变量,而不是我需要的变量 完全错误 error: dwh: An exception occurred. TypeError: content.exenv2.exerciseframe.singletons is undefined resource://

因此,基本上我将脚本注入到一个框架中以获得一个特定的变量,但我得到了以下错误:content.exenv2.exerciseframe.singleton未定义

但当我通过firebug控制台访问这个变量时,它就工作了。我还可以从框架中访问其他变量,而不是我需要的变量

完全错误

error: dwh: An exception occurred.
TypeError: content.exenv2.exerciseframe.singletons is undefined
resource://jid1-os5kkx1kvkogmq-at-jetpack/dwh/data/inject.js 2
Traceback (most recent call last):
  File "resource://jid1-os5kkx1kvkogmq-at-jetpack/dwh/data/inject.js", line 2, i
n
    var length = content.exenv2.exerciseframe.singletons.entries["TkExerciseItem
s_()"].length;
前两行代码

var test = content.exenv2.exerciseframe.loadingTimer; //This works
var length = content.exenv2.exerciseframe.singletons.entries["TkExerciseItems_()"].length; //Error 

很明显,Firefox插件无法访问原型变量,这是单例的情况

正如上面的链接所述,应该使用unsafeWindow访问这些变量

因此,工作守则是:

var length = unsafeWindow.content.exenv2.exerciseframe.singletons.entries["TkExerciseItems_()"].length;