的JavaScript document.domain的和端口号

问题描述:

先决条件:的JavaScript document.domain的和端口号

浏览器会域为一对(“域”,“端口”),并设置document.domain的它自己的值(或任何其他正确的)导致二传手覆盖端口号与空(OK,WTF!?)

参见:What does document.domain = document.domain do?

问:

是否possib le以保留端口还是允许设置端口的方式调用setter?

+1

没有一个强大的方式AFAIK,因为这是高度依赖于特定的浏览器/版本/实现......请参阅例如Mozilla实施的限制 - https://developer.mozilla.org/en/DOM/document.domain – Yahia

如果你从来没有设置它的document.domain的“特殊”它知道它从来没有被设置,并且还包括端口。

一旦你设置它,它只是一个简单的字符串,没有端口,只会匹配具有相同字符串的其他帧。

永远不会设置document.domain与设置的document.domain不匹配 - 即使两者看起来像是完全一样的东西。它与港口无关。更改后的document.domain将永远不会匹配没有更改的文档,即使它已更改为“自身”。

+0

这就是我所知道的,我只是希望有一些奇怪的怪癖。就像在使用.hta文件的浏览器中没有得到一些跨域限制一样。 – naugtur