所以基本上我将一个脚本注入一个框架以获取一个特定的变量,但是我收到以下错误: content.exenv2.exerciseframe.singletons未定义
但是当我通过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
答案 0 :(得分:0)
好像Firefox插件无法访问单例的原型变量。
如上面的链接所述,应使用unsafeWindow访问此类变量。
所以工作代码是:
var length = unsafeWindow.content.exenv2.exerciseframe.singletons.entries["TkExerciseItems_()"].length;