"myIpAddress"函数返回不正确结果在 Internet Explorer 9

随时随地通过任何设备使用 Microsoft 365 工作

升级到 Microsoft 365 以在任何位置使用最新的功能和更新。

立即升级

症状

请考虑下面的方案。

方案1

  • 配置为使用代理服务器自动配置 (PAC) 文件的 Windows Internet Explorer 9。

  • 计算机连接到互联网上。

  • 您在添加虚拟适配器的计算机上安装应用程序。例如,您可以安装 VMware 播放机。

  • PAC 文件调用myIpAddress函数来检索用来访问 Internet 的网络适配器的 IP 地址。

在这种情况下, myIpAddress函数返回虚拟适配器的 IP 地址。

例如,您编写下面的函数在 PAC 文件。在这种情况下, myIpAddress函数返回虚拟适配器的 IP 地址。function FindProxyForURL(url, host){
if (shExpMatch(myIpAddress(), "10.0.0.*")
{
//Bypass the proxy for URLs with-in the local domain
if (shExpMatch(host, "*.local.domain.com")) { return "DIRECT"; }

//Bypass the proxy when accessing local sites
if (isPlainHostName(host)) { return "DIRECT"; }

// Everything else goes through Proxy
return "PROXY 10.0.0.254:8080";
}

//Assume the computer is not at work.
return "DIRECT";
}

方案2

  • 配置 Internet Explorer 9 使用 PAC 文件。

  • 计算机连接到互联网上。

  • 您为您的企业网络,通过虚拟专用网络 (VPN) 建立其他连接。

  • PAC 文件调用myIpAddress函数来检索从 VPN 连接的 IP 地址。

在这种情况下, myIpAddress函数返回连接到互联网的 IP 地址。

解决方法

要变通解决此问题,请为 Internet Explorer 9 编写您自己的自定义myIpAddress函数。例如,您可以编写以下函数︰function myIE9IpAddress() {
var ipex = myIpAddressEx();
if (ipex === false)
{
var myip=myIpAddress();
return myip;
}
var iparray = ipex.split(";");
for (j=0; j < iparray.length;j++)
{
var ipaddress=iparray[j];
//IPv6 adress : skip
var parts=ipaddress.split("::");
var firstpart=parts[0];
if (firstpart==="[fe80")
{
//alert("skipping IPv6 address :"+ ipaddress);
continue;
}

//IPv4 address starting with 192.: skip
parts=ipaddress.split(".");
firstpart=parts[0];
if (firstpart === "192")
{
//alert("skipping IPv4 address starting with 192. :"+ ipaddress);
continue;
}
break;
}
return ipaddress;
}

解决方案

修补程序信息

可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。此修复程序仅适用于遇到本文中描述的问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。

如果此修复程序可供下载,则在此知识库文章顶部"提供修补程序下载"部分。如果未显示此部分,请与 Microsoft 客户服务和支持部门联系以获取此修复程序。

注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码的完整列表,或要创建单独的服务请求,请访问下面的 Microsoft 网站:

http://support.microsoft.com/contactus/?ws=support注意:"修补程序下载可用"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。

系统必备组件

若要应用此修补程序,您必须安装 Internet Explorer 9。

注册表信息

重要
仔细按照本节中的步骤操作。如果错误地修改了注册表,可能会出现严重问题。之前您修改它还原的注册表备份以防出现问题。

应用此修补程序后,必须对注册表进行下列更改︰

  1. 单击开始,单击运行,键入regedit,然后单击确定

  2. 展开以下注册表子项︰HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl

  3. 用鼠标右键单击功能控制,单击新建,然后单击

  4. 键入FEATURE_SMART_MYIPADDRESS_BEHAVIOR_KB2839111,,然后按 enter 键来命名新的子键。

  5. 用鼠标右键单击FEATURE_SMART_MYIPADDRESS_BEHAVIOR_KB2839111,单击新建,然后单击DWORD 值

  6. 键入iexplore.exe,,然后按 Enter 键名称的新项。

  7. Iexplore.exe,用鼠标右键单击,然后单击修改

  8. 数值数据框中,键入00000001,,然后单击确定

  9. 关闭注册表编辑器。

对于基于 x64 的计算机,您必须修改另一个注册表项︰

  1. 单击开始,单击运行,键入regedit,然后单击确定

  2. 展开以下注册表子项︰HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl

  3. 用鼠标右键单击功能控制,单击新建,然后单击

  4. 键入FEATURE_SMART_MYIPADDRESS_BEHAVIOR_KB2839111,,然后按 enter 键来命名新的子键。

  5. 用鼠标右键单击FEATURE_SMART_MYIPADDRESS_BEHAVIOR_KB2839111,单击新建,然后单击DWORD 值

  6. 键入iexplore.exe,,然后按 Enter 键名称的新项。

  7. Iexplore.exe,用鼠标右键单击,然后单击修改

  8. 数值数据框中,键入00000001,,然后单击确定

  9. 关闭注册表编辑器。

重启要求

应用此修补程序后,不需要重新启动计算机。

修补程序替换信息

此修补程序不替代以前发布的修补程序。

此修复程序的全球版本将安装具有下表所列属性的文件。这些文件的日期和时间以协调世界时 (UTC) 列出。您的本地计算机上这些文件的日期和时间以您的本地时间加上当前夏令时 (DST) 偏差显示。此外,当您对文件执行某些操作时,日期和时间可能会更改。

文件信息说明重要:相同的软件包中包含 Windows 7 的修复程序和 Windows Server 2008 R2 的修复程序。

对于所有的 Internet Explorer 9 支持将基于 x86 的 Windows 7 版本

文件名称

文件版本

文件大小

日期

时间

平台

Jsproxy.dll

9.0.8112.20618

75,776

18-Aug-2013

10:00

x86

Wininet.dll

9.0.8112.20618

1,130,496

18-Aug-2013

10:02

x86

Wininetplugin.dll

1.0.0.1

66,048

18-Aug-2013

10:00

x86

Iertutil.dll

9.0.8112.20618

1,796,096

18-Aug-2013

09:59

x86

Sqmapi.dll

6.0.6000.16386

149,664

18-Aug-2013

10:18

x86

对于所有支持基于 x64 版本的 Windows 7 和 Windows Server 2008 R2 上的 Internet Explorer 9

文件名称

文件版本

文件大小

日期

时间

平台

Jsproxy.dll

9.0.8112.20618

97,280

18-Aug-2013

11:02

x64

Wininet.dll

9.0.8112.20618

1,392,640

18-Aug-2013

11:03

x64

Wininetplugin.dll

1.0.0.1

86,528

18-Aug-2013

11:02

x64

Iertutil.dll

9.0.8112.20618

2,147,840

18-Aug-2013

11:01

x64

Sqmapi.dll

6.0.6000.16386

182,936

18-Aug-2013

11:26

x64

Jsproxy.dll

9.0.8112.20618

75,776

18-Aug-2013

10:00

x86

Wininet.dll

9.0.8112.20618

1,130,496

18-Aug-2013

10:02

x86

Wininetplugin.dll

1.0.0.1

66,048

18-Aug-2013

10:00

x86

Iertutil.dll

9.0.8112.20618

1,796,096

18-Aug-2013

09:59

x86

Sqmapi.dll

6.0.6000.16386

149,664

18-Aug-2013

10:18

x86


状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息

有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

用于描述 Microsoft 软件更新的标准术语的824684说明

本文讨论的第三方产品是由与 Microsoft 无关的公司生产的。Microsoft 不做这些产品的任何担保、默示或其他有关的性能或可靠性。

其他文件信息

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×