在Firefox中使用硬编码的pac脚本

时间:2012-09-26 05:49:14

标签: firefox firefox-addon firefox-addon-sdk pac

我目前正在尝试将chrome扩展程序移植到firefox(addon-sdk)。但是我提出了一些移植pac脚本功能的问题。

通过chromes扩展API设置代理时,可以在pac脚本对象中将PAC脚本设置为字符串(参考:http://developer.chrome.com/extensions/proxy.html#type-PacScript

在Firefox中看,没有类似的东西。我看到的唯一选择是从网址(http://kb.mozillazine.org/Firefox_:FAQs:_About:config_Entries)中提取脚本。我的问题是,当用户调整插件设置时,pac脚本必须更改并做出反应。

是否有(hacky)方式在Firefox中完成类似的操作?

我提出的唯一解决方案是对用户选项进行编码并将其发布到pac脚本服务器。服务器解析它们并创建符合需求的脚本。我想避免不惜任何代价使用服务器,因为这会导致另一种依赖!

1 个答案:

答案 0 :(得分:2)

您可以使用data: URI作为PAC文件。动态生成它很容易:

var pacScript = "function FindProxyForURL(url, host){return 'DIRECT';}";
var uri = "data:text/javascript," + encodeURIComponent(pacScript);
alert(uri);