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 }
興味深い。私はなぜ彼らが一方的にアラートをログダンプに変換するのだろうかと思います。私は、このような低レベルの操作中にポップアラートが受け入れられないと考えていると思います。 –
うん。それは仕様ではなく、私が見つけたPACバグにはありません(Netscape/AOL/MozillaのProxyとPACをテストしました)。私はchangelogを掘り起こすことができます... – benc
alert()はおそらくWindowオブジェクトを必要とし、ネットワークレベルの操作であり、確かにWindowオブジェクトはありません。 PACスクリプトは、我々がどのように接続するかを決める手助けをしているので、まだTCP接続さえありません... –