Отладка javascript с автопрокси (PAC) с помощью alert()?
Я пишу собственный скрипт.pac для использования с Firefox. Следуя многочисленным примерам, которые я видел, я перебираю alert() для его отладки, но всплывающих окон нет, даже если скрипт явно вызывается. (Я нажимаю "Перезагрузить" в "Настройках подключения" после каждого изменения в моем сценарии. Я даже пытался перезапустить Firefox.)
Должны ли оповещения работать из сценариев PAC? Может быть, это функция только для IE?
4 ответа
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");
И сопоставленная функция вызывает dump, которая отправляется в консоль ошибок:
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 }
использование
alert
функция в вашем.pac
файл.В браузере Firefox:
Сервис -> Веб-разработчик -> Консоль браузера (Ctrl + Shift + J) [Это не веб-консоль!!] -> Фильтр вывода:
PAC-alert
В браузере Chrome:
http://chrome//net-internals/ -> Поиск записи с описанием:
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";
}
Ах, Ха! Предупреждающие сообщения записываются на консоль. Я на самом деле предпочитаю, чтобы все равно оповещать всплывающие окна
Возможно, вам придется отключить "EnableAutoproxyResultCache" в реестре Windows.,,