在 Internet Explorer 中因為多個 isInNet 函式呼叫,而慢瀏覽

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3140773
徵狀
請考慮下列情況:
  • Internet Explorer 設定為使用 Proxy 自動組態 (PAC) 檔案或 WPAD 的 proxy 設定。
  • PAC 檔案包含多個呼叫isInNet()函式,如下所示 ︰

    函式 FindProxyForURL (url、 主應用程式)
    {

    如果 (isInNet (主應用程式,"192.168.3.4","255.255.255.0")) | |
    isInNet (主機,"10.10.1.1","255.255.255.0") | |
    isInNet (主機,"72.10.10.10","255.240.0.0")) | |
    isInNet (主機,"172.16.0.0","255.240.0.0"))
    {

    傳回 PROXY <proxyname:PORT>;


    }


    }</proxyname:PORT>

如果有數種這類isInNet()呼叫 PAC 檔案中,Internet Explorer 所需的時間超出預期要瀏覽的網頁。
發生的原因
之所以發生這個問題,是因為 Internet Explorer 必須執行 DNS 子系統的其他呼叫,以判斷主機參數的 IP 位址。要比較主機參數與所提供的isInNet()函式呼叫的 IP 位址範圍的 IP 位址,它必須執行這項操作。
解決方案
若要防止這些額外的呼叫,以 DNS 子系統,每次 「 主機 」 會傳遞至isInNet()的函式呼叫,採取步驟,藉由傳遞的 IP 位址,而不是主機名稱解析isInNet()呼叫外部的 IP 位址的主機名稱。

若要這麼做,請依下列方式修改 < 徵狀 > 一節中的範例程式碼 ︰
  • 函式 FindProxyForURL (url、 主應用程式)
    {

    var resolved_IP = dnsResolve(host);


    如果 (isInNet (resolved_IP,"192.168.3.4","255.255.255.0")) | |
    isInNet (resolved_IP,"10.10.1.1","255.255.255.0") | |
    isInNet (resolved_IP,"72.10.10.10","255.240.0.0")) | |
    isInNet (resolved_IP,"172.16.0.0","255.240.0.0"))
    {

    傳回 PROXY <proxyname:PORT>;

    }

    }</proxyname:PORT>

Proxy 自動組態;Internet Explorer 中;WPAD;isInNet dnsResolve;

警告:本文為自動翻譯

內容

文章識別碼:3140773 - 最後檢閱時間:03/18/2016 01:44:00 - 修訂: 1.0

Windows Internet Explorer 9, Windows Internet Explorer 8, Windows Internet Explorer 10

  • kbmt KB3140773 KbMtzh
意見反應