在网页中,是否可以通过 javascript 检测 Web 浏览器是否正在使用 PAC 文件 http://xxx.xx.xx.xxx/toto.pac ?
注意:可以在多个 PAC 后面查看同一页面,我不想使用服务器端语言,如有必要,我可以编辑 toto PAC 文件。问候
最佳答案
您可以向已知的外部服务器 (google.com) 发出 ajax 请求,然后从该请求中获取 header 以查看代理 header 是否在请求中...
var proxyHeader = 'via';
var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send();
var header = req.getResponseHeader(proxyHeader);
if (header) {
// we are on a proxy
}
更改
proxyHeader
您的代理添加到响应中的内容。编辑:您必须添加一个条件来支持
XMLHttpRequest
的 IE 实现编辑:
我在工作中使用代理,我刚刚在 jsfiddle 中测试了这段代码,它工作正常。可以做得更漂亮,以便支持 IE 并执行异步获取,但一般功能在那里... http://jsfiddle.net/unvHW/
事实证明,检测“via”要好得多......
关于javascript - 如何使用javascript检测代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19767589/