调试,警报自动代理(PAC)的JavaScript()?(Debugging autoproxy (

2019-07-29 04:05发布

我写的Firefox使用自定义的.pac脚本。 下面我见过无数的例子,我为了调试它点缀警报()S中,但没有警告弹出,即使显然被调用的脚本。 (我每次更改我的剧本后,点击“刷新”,在“连接设置”,我甚至试图重新启动Firefox浏览器。)

被警告应该从PAC脚本的工作? 也许这是一个IE浏览器特有的功能?

Answer 1:

http://mxr.mozilla.org/mozilla-central/source/netwerk/base/src/nsProxyAutoConfig.js

报警功能被添加到沙箱:

80         // add predefined functions to pac
81         this._sandBox.importFunction(myIpAddress);
82         this._sandBox.importFunction(dnsResolve);
83         this._sandBox.importFunction(proxyAlert, "alert");

而映射函数调用转储,都到错误控制台:

108 function proxyAlert(msg) {
109     msg = XPCSafeJSObjectWrapper(msg);
110     try {
111         // It would appear that the console service is threadsafe.
112         var cns = Components.classes["@mozilla.org/consoleservice;1"]
113                             .getService(Components.interfaces.nsIConsoleService);
114         cns.logStringMessage("PAC-alert: "+msg);
115     } catch (e) {
116         dump("PAC: proxyAlert ERROR: "+e+"\n");
117     }


Answer 2:

啊哈! 警报消息越来越登录到控制台。 其实我更喜欢的是反正提醒弹出窗口。



Answer 3:

  1. 使用alert在函数.pac文件。

    • Firefox浏览器:

      工具 - > Web开发者 - > 浏览器控制台(按Ctrl + Shift + J)[这不是Web控制台 !!] - >过滤器输出: PAC-alert

    • Chrome浏览器:

      转到chrome://net-internals/#events - >搜索与描述记录: PAC_JAVASCRIPT_ALERT

      (关于Chrome感谢这样的回答: https://serverfault.com/a/738871 )


样品.pac文件:

function FindProxyForURL(url, host) {
    alert("url = " + url + " *** host = " + host + " *** Resolved IP = " + dnsResolve(host));

    return "DIRECT";
}


Answer 4:

您可能需要在Windows注册表来禁用“EnableAutoproxyResultCache”。 。 。



文章来源: Debugging autoproxy (PAC) javascript with alert()?