Mozilla サポートの検索

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

詳しく学ぶ

このスレッドはアーカイブに保管されました。 必要であれば新たに質問してください。

Proxy.pac file syntax is not correctly recognized in Firefox 4 final.

  • 5 件の返信
  • 66 人がこの問題に困っています
  • 1 回表示
  • 最後の返信者: Velnias

more options

We are using a proxy.pac file to determine a proxy server based on subnet the user is in. (each subnet has its ISP and proxy server.)

here is the script:

function FindProxyForURL(url, host)
{
if (isInNet(host, "10.0.0.0", "255.0.0.0"))
        return "DIRECT";
if (isInNet(host, "127.0.0.1", "255.255.255.0"))
        return "DIRECT";
if (shExpMatch(url, "feed:*"))
        return "DIRECT" ;
if (shExpMatch(url, "ftp:*"))
        return "DIRECT" ;
if (shExpMatch( host, "localhost" ))
        return "DIRECT";
if (isInNet(myIpAddress(), "10.10.11.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.11.0", "/24"))
        return "PROXY 10.10.11.100:3128; DIRECT";
else if (isInNet(myIpAddress(), "10.10.12.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.12.0", "/24"))
        return "PROXY 10.10.12.100:3128; DIRECT";
else if (isInNet(myIpAddress(), "10.10.10.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.10.0", "/24"))
        return "PROXY 10.10.10.100:3128; DIRECT";
else
	return "DIRECT";
}

it seems like FF4 always pick the first proxy in "if" clause, and ignores the "else if" (i have tries to switch the proxies around.)

It was working correctly in FF3.6 and is still working in IE8.

System is Win 7 Ent. x64 bit. FF4 final.

We are using a proxy.pac file to determine a proxy server based on subnet the user is in. (each subnet has its ISP and proxy server.) here is the script: <pre><nowiki>function FindProxyForURL(url, host) { if (isInNet(host, "10.0.0.0", "255.0.0.0")) return "DIRECT"; if (isInNet(host, "127.0.0.1", "255.255.255.0")) return "DIRECT"; if (shExpMatch(url, "feed:*")) return "DIRECT" ; if (shExpMatch(url, "ftp:*")) return "DIRECT" ; if (shExpMatch( host, "localhost" )) return "DIRECT"; if (isInNet(myIpAddress(), "10.10.11.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.11.0", "/24")) return "PROXY 10.10.11.100:3128; DIRECT"; else if (isInNet(myIpAddress(), "10.10.12.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.12.0", "/24")) return "PROXY 10.10.12.100:3128; DIRECT"; else if (isInNet(myIpAddress(), "10.10.10.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.10.0", "/24")) return "PROXY 10.10.10.100:3128; DIRECT"; else return "DIRECT"; } </nowiki></pre> it seems like FF4 always pick the first proxy in "if" clause, and ignores the "else if" (i have tries to switch the proxies around.) It was working correctly in FF3.6 and is still working in IE8. System is Win 7 Ent. x64 bit. FF4 final.

この投稿は cor-el により に変更されました

すべての返信 (5)

more options

Hi,

I have encountered the same issue and I have bypassed it as follow:

  1. about:config
  2. Search and set the option "network.dns.disableIPv6" to true

For my side, the options "use a PAC file" or "use system proxy settings" work with this change.

Bye. Francois

more options

Well it did not worked for me. Still have the same problem.

more options

Do you have multiple IP addresses on your client machine? If so, the myIpAddress() function returns only the IP of the first adapter it looks at. If you have wired, wireless, IPv6, etc addresses on your client, the myIPAddress() function will only return the first one it finds.

For example, if you are looking for an IP on a wired subnet, and your first adapter is wireless, the function will return the address of your wireless adapter, and the "else if" criteria will not apply.

more options

This is still not working. And after upgrading to Firefox 6.0 the pac file does not work at all.

more options

And no, i do not have multiple IP's. And use only IP4