【问题标题】:Can't access iframe using jQuery in another domain In IE8-11无法在另一个域中使用 jQuery 访问 iframe 在 IE8-11 中
【发布时间】:2014-06-24 22:01:31
【问题描述】:

我无法在本地主机中使用 jQuery 访问 iframe,或者如果我在 IE8-11 中使用 另一个域 >。
我使用Smart Demo-bar 脚本,它可以在其他浏览器上完美运行,但在 IE8-11 中,它必须在某个域中或所有功能都提供 py Demo-bar break。

- 我尝试将onload 事件添加到 iframe。 (但这仅在 iframe 中的源来自同一域时才有效。)
- 我喜欢在 stackoverflow 中将 jQuery 转换为 JS 的另一个解决方案。

如果有办法在IE 上解决此问题,我将不胜感激。

【问题讨论】:

    标签: javascript jquery iframe internet-explorer-11


    【解决方案1】:

    Internet Explorer 对跨域访问有一套非常严格的规则(正如您刚刚注意到的)。 “主机”页面和 iframe 之间的沙盒是为了防止 XSS 攻击。

    如果您尝试进行 ajax 调用,jQuery 提供 JSONP(带填充的 JSON)数据类型,只是为了规避跨域限制

    如果你想传递事件或函数调用,你将需要一个第三方插件,这里是一个示例: http://calibrate.be/labs/cross-domain-iframe-communication

    【讨论】:

    • 感谢您的回答,我解决了将一些 jQuery 函数转换为 JS 的问题,并打破了一些 JSlint 规则,例如多变量声明。
    • 如果解决方案解决了您的问题,您能接受吗?
    猜你喜欢
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 2018-02-25
    • 2012-01-16
    相关资源
    最近更新 更多