我的计算机上有几个PDF文件,其中包含指向其他页面的链接。但是,这些链接会将您引导到本地文件系统而不是Internet。即点击该链接可打开浏览器并转到file:///page
而不是http://domain/page
。
修改这些文件以包含完整的URL不是一种选择。
我尝试使用可用的Firefox扩展来重定向URL,但没有一个工作,所以我尝试创建自己的扩展来做同样的事情。到目前为止我发现的是,在标签的“就绪”事件触发之前,URL无法访问,但引用没有完整路径的本地文件的页面总是“未初始化”。
这是我的扩展程序脚本,几乎直接来自https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs:
var tabs = require("sdk/tabs");
tabs.on('open', function(tab){
tab.on('ready', function(tab){
if (tab.url.indexOf("file:///page") != -1) {
tab.url = tab.url.replace("file://", "https://domain");
}
});
});
有关如何将页面从本地文件重定向到其他位置的任何想法吗?
答案 0 :(得分:1)
以下代码段可以解决我的问题。
在main.js
:
var tabs = require("sdk/tabs");
tabs.on('ready', function(tab){
var new_url = tab.url;
if (tab.url.indexOf("file:///") != -1) {
new_url = new_url.replace("file:///", "https://domain/");
tab.url = new_url;
}
});
虽然我的Firefox没有在我的标签上触发就绪事件,但是网址就像你想要的那样。例如,当网址为file:///page/lala.pdf
时,firefox会忽略该网址,并且不会尝试访问该网址。
我相信Firefox需要一个“真实”的路径来加载页面,例如file:///C:page/lala.pdf
。
我希望这会对你有所帮助。