我在Firefox配置文件中创建了一个本地文件(log.html),并试图在附加页面上打开它(附加文件夹/ data / log.html,它在URL栏中显示为资源协议) 。
self.port && self.port.on('add-log-path', function(payLoad) {
addLogPath(payLoad);
});
function addLogPath(url) {
// url == "file:///Users/usr/Library/Application Support/Firefox/Profiles/05rhodfg.cfxo/log.html"
$('#logpath').attr('href', url);
}
我也尝试将其更改为JS方法window.open
function addLogPath(url) {
$('#logpath').on("click", function() {
window.open(url);
});
}
但错误是
BTW,在Firefox版本41之前,它没有问题。 您能否建议其他解决方法来解决这个问题?谢谢!JavaScript错误:,第0行:错误:访问 '文件:///Users/usr/Library/Application%20Support/Firefox/Profiles/05rhodfg.cfxo/log.html' 从脚本被拒绝
编辑: added add-on example to reproduce the problem
在终端中下载并运行以下语句: $ cd fileProtocolExample&& cfx run
答案 0 :(得分:0)
执行self.data.url('filename_here')
以获取文件的路径。
它看起来像resource://your-extension-id/data/filename_here
,然后这应该加载正常。前面的resource://
很重要,请确保您获取并使用该网址。
file://
无法使用,因为您的插件以zip格式打包。它没有被提取到系统中。它在Firefox 41中是如何工作的?你的插件当时是否打开包装?这是一个Addon-SDK插件吧?