【问题标题】:Chrome solution for document.domaindocument.domain 的 Chrome 解决方案
【发布时间】:2011-10-29 12:13:42
【问题描述】:

由于某种原因,chrome 不再支持 document.domain 并且当在包含子域的 iframe 和包含 iframe 的子域中读取该行时会吐出错误。反正有这个吗?

错误:未捕获的错误:SECURITY_ERR:DOM 异常 18

【问题讨论】:

    标签: google-chrome browser cross-domain


    【解决方案1】:

    文档域应为小写,规则如下:

    // Actual domain is "www.foo.com" 
    document.domain = "foo.com"; // this is valid 
    
    // Actual domain is "bar.foo.com" 
    document.domain = "www.foo.com"; // this is invalid, "bar.foo.com" is not a subdomain of "www.foo.com" 
    
    // Actual domain is "blah.bar.foo.com" 
    document.domain = "bar.foo.com" // Ok 
    document.domain = "foo.com" // Still ok 
    document.domain = "bar.foo.com" // Invalid, you can't change it back to a more specific domain. 
    

    【讨论】:

    【解决方案2】:

    document.domain 应该适用于 iframe,只要您在同一个域中:

    iframe=document.querySelector('iframe');
    console.log(iframe.contentDocument.domain)
    

    如果您尝试访问与父框架位于不同域中的 iframe 的文档,则会收到您所看到的安全错误。

    请注意,子域也被视为不同的域,因此您会遇到跨域问题:A question about cross-domain (subdomain) ajax request

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多