1

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

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

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

有没有一种(hacky)方法可以在 Firefox 中完成类似的事情?

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

4

1 回答 1

2

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

var pacScript = "function FindProxyForURL(url, host){return 'DIRECT';}";
var uri = "data:text/javascript," + encodeURIComponent(pacScript);
alert(uri);
于 2012-09-26T07:04:12.547 回答