Javascript Firefox插件未定义框架中的变量
因此,基本上我将脚本注入到一个框架中以获得一个特定的变量,但我得到了以下错误:content.exenv2.exerciseframe.singleton未定义 但当我通过firebug控制台访问这个变量时,它就工作了。我还可以从框架中访问其他变量,而不是我需要的变量 完全错误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://
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;