以前如果要使iframe里面的腳本能訪問(wèn)parent的內(nèi)容,但iframe和parent的二級(jí)域名相同,那一般都會(huì)在兩者都寫(xiě)上document.domain="xxx.com" 以放寬訪問(wèn)權(quán)限。
今天發(fā)現(xiàn),如果iframe和parent在同一個(gè)三級(jí)域名下,比如都是aa.bb.com,那設(shè)了document.domain反而會(huì)造成訪問(wèn)拒絕。
查了下MSDN,有如下解釋?zhuān)?br />
Remarks
The property initially returns the host name of the server from which the page is served. The property can be assigned the domain suffix to allow sharing of pages across frames. For example, a page in one frame from home.microsoft.com and a page from www.microsoft.com initially would not be able to communicate with each other. However, by setting the domain property of both pages to the suffix "microsoft.com", you ensure that both pages are considered secure and access is available between the pages.
When you set the domain property, use the domain name determined by the server rather than by the client browser.
All the pages on different hosts must have the domain property explicitly set to the same value to communicate successfully with each other. For example, the value of the domain property of a page on the host microsoft.com would be "microsoft.com" by default. It might seem logical that if you set the domain property of a page on another host named msdn.microsoft.com to "microsoft.com," that the two pages could communicate with each other. However, this is not the case unless you have also explicitly set the domain property of the page on microsoft.com to "microsoft.com".
Furthermore, this property cannot be used to allow cross-frame communication among frames with different domain suffixes. For example, a page in one frame from www.microsoft.com and a page in another frame from www.msn.com would not be able to communicate with each other even if the domain property of both pages was set to the suffix "microsoft.com".
Security Alert??Using this property incorrectly can compromise the security of your Web site. Set the domain property only if you must allow cross-domain scripting. Use a value determined on the server. Setting this property to a value determined on the client (like through the location object) could expose your site to attack from another site through Domain Name System (DNS) manipulation. For more information, see Security Considerations: Dynamic HTML.
For more information on domain security, see About Cross-Frame Scripting and Security.