8

我在Internet Explorer 11非生产环境中遇到问题

window.location.originundefined

但是,在生产环境中,这个值实际上返回

window.location.origin = http://www.myproductionwebsite.com

这个问题只存在于 Internet Explorer 中,并且在生产和非生产环境中的 Chrome 和 Firefox 中运行良好,这让我相信它是IE11中的Chakraorigin JavaScript 引擎填充的方式。

我还查看了生产和非生产环境中的请求和响应标头,所有参数都是相同的。

Internet Explorer 11window.location.originChrome 或 Firefox 的计算方式有何不同?

4

1 回答 1

7

Intranet 站点设置为兼容性视图,这会禁用window.location.origin

除非页面明确指定其他文档模式,否则页面将在兼容性视图中运行。可以使用工具 > 兼容性视图设置菜单禁用此选项。

根据以下标准将站点放置在 Intranet 区域中:

直接映射。与其他区域一样,用户或网络管理员可以将 URL 模式列表映射到本地 Intranet 区域。此列表可通过单击工具 > Internet 选项 > 安全 > 本地 Intranet > 站点 > 高级来查看。

PlainHostName 规则(又名“点规则”)。如果 URI 的主机名不包含任何句点(例如http://team/),则将其映射到本地 Intranet 区域。

固定的代理绕过列表。如果用户在工具 > Internet 选项 > 连接 > LAN 设置中指定了固定代理,则列出绕过该代理的站点将映射到本地 Intranet 区域。点击高级按钮可以找到固定的代理绕过列表;它位于屏幕底部标有例外的框中。

(WPAD) 代理脚本。如果用户的代理配置是工具 > Internet 选项 > 连接 > LAN 设置中的“自动检测设置”或“使用自动配置脚本”,浏览器将运行指定的 WPAD 代理配置脚本中的 FindProxyForUrl 函数来确定应该使用哪个代理对于每个请求。如果脚本返回“DIRECT”,浏览器将绕过代理,站点将映射到本地 Intranet 区域。将 URL 映射到区域时,URLMon 将调用 FindProxyForUrl 函数来确定是否适用绕过规则。一个有趣的转折是代理脚本本身可能会调用 dnsResolve 来获取站点的 IP 地址,并将该信息用作其确定的一部分。

详细说明如何在 IE11 中选择文档模式的全尺寸流程图

参考

于 2016-08-13T07:18:14.713 回答