javascript - 带有 2 个字母域名的 document.domain 在 IE 中存在错误

标签 javascript internet-explorer browser dns

我们有一个包含两个字母的域名。对于所有版本,这是 IE 的问题。

问题是当我们设置 document.domain="xx.yy" 时,我们得到一个“无效参数”异常。

有没有人有关于如何解决此错误的解决方案或想法?

问候, 托拜厄斯

最佳答案

对于哪些域可以用作跨文档脚本和 cookie 共享的共享父域存在限制。

这是故意的:否则,example.co.ukother-example.co.uk 可以作为同一网站 co.uk 的一部分。出于隐私和安全原因,浏览器不允许这样做。

问题是 DNS 系统没有正式的方式来声明 co.uk 是注册管理机构分配的域,不同的组织生活在该域下,但是 bit.ly 是一个单一的组织。这在某些地方甚至更难,例如 .jp,它既有直接组织子域,也有注册表分配的子域,例如 co.jp

因此,浏览器对于哪些域应被视为“公共(public)”以及不应允许共享脚本/凭据上下文有内部规则,并且当有新的 TLD 和 SLD 时,必须更新这些规则。较旧的浏览器可能无法识别较新的域。

一些浏览器从 Public Suffix List 获取信息,虽然不是 IE。 IE 似乎正在使用启发式方法,对于它不知道并且有特殊情况的 TLD,2 个字母的子域 xx.yy 可能是公共(public)域(例如 co.ukor.jp 或其他)并且不应被允许充当共享父域。这是一个合理的猜测,IMO:最好是“故障安全”。

我认为您无法绕过它。你想做什么,可能有另一种方法吗?你能把所有跨子域脚本的东西放在一个子域中吗?

关于javascript - 带有 2 个字母域名的 document.domain 在 IE 中存在错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068699/

相关文章:

javascript - While 循环忽略初始条件并且浏览器崩溃

browser - 最小的 URL 友好编码是什么?

javascript - .Click() 函数不工作 Jquery

Javascript 一个innerHTML 不工作,其他在代码中工作

javascript - 定位除 Internet Explorer 8 之外的所有内容-

css - 背景仅在网站布局的一侧重复,内容居中吗?

c# - 从 httpRequest 中提取支持的图像类型列表?

javascript - 使用 rubaxa 进行可排序的 Javascript

javascript - HTML 选择的 onClick 事件

c# - 在 Windows 7 中使用 C# 运行 Selenium 测试时出现 "IEDriverServer does not exist"错误