【发布时间】:2016-09-05 20:15:36
【问题描述】:
我花了 4 个小时试图找到将文件加载到我的 Firefox 插件中的解决方案。但是,没有成功(((。
我的代码:
const {TextDecoder, OS} = Cu.import("resource://gre/modules/osfile.jsm", {});
var decoder = new TextDecoder();
var promise = OS.File.read("C:\\test.txt");
promise = promise.then(function onSuccess(array) {
alert(decoder.decode(array));
});
上面的代码无法强制运行(((。我做错了什么?
【问题讨论】:
-
您是否尝试过将
OS.File.read()包装在 try/catch 中并检查是否抛出了OS.File.Error? developer.mozilla.org/en-US/docs/Mozilla/… -
你在做什么kind of Firefox extension [firefox-webextensions] (WebExtensions, [fiirefox-addon-sdk] Add-on SDK, [firefox-addon-restartless] Bootstraped, 或 [fiirefox-addon-overlay] @ 987654330@)?请edit在您的问题中添加适当的标签。
-
当您运行此代码时,Browser Console(Ctrl-Shift-J,或 OSX 上的 Cmd-Shift-J)中究竟显示了什么?
-
您没有处理拒绝/失败的函数。添加一个。 OS.File.read() 以 OS.File.Error 拒绝。至少,你应该有类似的东西:
promise.then(onSuccess,function(reason){console.log('OSFile rejected reason:',reason);}); -
浏览器控制台一直是空的(((我使用的是Overlay/XUL
标签: javascript firefox-addon xul firefox-addon-overlay