【问题标题】:Iframe data will not load from one subdomain, but works fine from another subdomainiframe 数据不会从一个子域加载,但可以从另一个子域正常工作
【发布时间】:2016-03-10 22:15:39
【问题描述】:

我试图弄清楚为什么 iframe 不会在特定页面上加载。

我正在使用的代码:

<iframe src="http://example.mywebsite.com" width="100%" height="100%" frameborder="0" ></iframe>

我从http://frameloader.mywebsite.com加载它

如果我从http://temploader.mywebsite.com 尝试同样的事情,它可以正常工作。

我尝试过重新加载/刷新 cookie/使用其他浏览器/计算机,但在所有情况下,它都适用于 temploader,但不适用于 frameloader。

有人知道为什么这可能行不通吗?这几天我一直在搞砸我的大脑和互联网。

【问题讨论】:

    标签: html iframe


    【解决方案1】:

    同源政策适用于:

    1. 协议(例如https://

    2. 子域(例如https://frameloader

    3. 域(例如https://frameloader.mywebsite.com

    4. 端口(例如https://frameloader.mywebsite.com:80

    以上所有内容都必须匹配才能符合Same Origin Policy。 幸运的是,有一种针对您的情况的解决方法。将以下内容添加到两个位置:

    document.domain = 'mywebsite.com'
    

    阅读Iframe cross domain JavaScript callsThe document.domain exception了解详情。

    【讨论】:

    • 我知道我从未对此发表过评论,我只想说声谢谢,这对解决问题很有帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 2012-11-21
    • 2017-08-01
    • 2019-01-12
    • 2013-08-04
    • 1970-01-01
    相关资源
    最近更新 更多