「.Pac ファイル内の shExpMatch 関数の正規表現をサポートしていません。」より
The following code sample illustrates the use of the regular expression object in a .pac file.
function FindProxyForURL(url, host) { // For instance, if the server has 4 alphabetic characters, // such as "MSDN", route it through a specific proxy: var regexpr = /[a-zA-Z]{4}.microsoft.com/; if(regexpr.test(host)) return "PROXY w3proxy:8080; DIRECT"; // Or else connect directly: return "DIRECT"; }
圧縮版
function FindProxyForURL(o,r){return/[a-zA-Z]{4}.microsoft.com/.test(r)?"PROXY w3proxy:8080; DIRECT":"DIRECT"}
function FindProxyForURL(url, host) { var proxy = "PROXY proxy1.example.co.jp:8080; PROXY proxy2.example.co.jp:8080; DIRECT"; if (isPlainHostName(host) || shExpMatch(host, "192.168.*") || shExpMatch(host, "127.0.0.1")) return "DIRECT"; if (shExpMatch(host, "xxxxxx.jp")) return proxy; return "DIRECT"; }
・Minify Javascript Online / Online JavaScript Packer
http://jscompress.com/
圧縮版
function FindProxyForURL(x,p){return isPlainHostName(p)||shExpMatch(p,"192.168.*")||shExpMatch(p,"127.0.0.1")?"DIRECT":shExpMatch(p,"xxxxxx.jp")?"PROXY proxy1.example.co.jp:8080; PROXY proxy2.example.co.jp:8080; DIRECT":"DIRECT"}
圧縮方法の一例
影響を及ぼさないスペース、タブおよび改行文字を省略。
if~elseを?:演算子に変更。
複数回参照するオブジェクトやメソッドを短い名前の変数に代入。
5/28 追加
Adblock Plus を使っているが、このようなやり方もあったのか。
OSC2012 Tokyo/Fall 特設サイト
function FindProxyForURL(url, host) { if (url.match(/[^a-z0-9]ad(s)?[0-9]*[^a-z0-9]/i)) { return "PROXY gauc.no-ip.org:81"; } return "DIRECT"; }
6/11 追加
自動プロキシ構成スクリプトを使用するように Internet Explorer を構成すると、FindProxyForURL 呼び出しにより返されたプロキシがキャッシュされます。キャッシュ メカニズム (自動プロキシ結果キャッシュ) は、ホストを基準として実行されます (つまり、URL を基準とはしません)。
これにより、複数のプロキシを使用して同じ Web サーバーにアクセスすることができなくなります。
Internet Explorer の自動プロキシ キャッシュを無効にする方法
・圧縮
Minify Javascript Online / Online JavaScript Packer
http://jscompress.com/