浏览器重启后hiddenDOMWindow失败

时间:2014-07-10 14:31:24

标签: twitter-bootstrap fennec

此代码在安装扩展后工作正常, 但是当我重启浏览器时它失败了。 调用启动函数有什么区别:

安装

开始时

代码:

function startup(aData, aReason) {
_webSocket = new Services.appShell.hiddenDOMWindow.WebSocket("ws://localhost:8887/");
...
}

错误:  [JavaScript警告:"警告addons.xpi:在screen-capture@smail.com上运行bootstrap方法启动异常:[例外..."组件返回失败代码:0x80004005(NS_ERROR_FAILURE)[nsIAppShellService.hiddenDOMWindow] " nsresult:" 0x80004005(NS_ERROR_FAILURE)" location:" JS frame :: resource://gre/modules/XPIProvider.jsm - > jar:file:///data/data/org.mozilla.firefox/files/mozilla/lmwz0qwc.default/extensions/screen-capture@smail.com.xpi!/bootstrap.js :: SmartScreencap.connect_ws :: line 89& #34;数据:没有]" {file:" resource://gre/modules/XPIProvider.jsm - >罐子:文件:///data/data/org.mozilla.firefox/files/mozilla/lmwz0qwc.default/extensions/screen-capture@smail.com.xpi /bootstrap.js"! line:89}]

1 个答案:

答案 0 :(得分:0)

问题是当function startup(aData, aReason)正在进行协作时,不会创建Services.appShell.hiddenDOMWindow。所以解决方案是将窗口监听器添加到启动功能中  win.addEventListener('UIReady', function() { ... Services.appShell.hiddenDOMWindow.WebSocket//call function here ... }, false); 并从回调函数调用隐藏窗口。