【问题标题】:How can I call a javascript function from within iframe?如何从 iframe 中调用 javascript 函数?
【发布时间】:2015-03-18 09:06:41
【问题描述】:

我已经阅读并知道同源策略会阻止 iframe 的 DOM 访问父窗口的 DOM,反之亦然,如果在不同的域上。

但是,在这种情况下,我至少对父 DOM 也有一些控制权(它仍然在不同的域中)。我正在开发一个位于 iframe 中的网站,但也会要求用户在页面顶部添加一些 javascript。

鉴于此,我是否可以使用包含的 javascript 在父级中公开一个 javascript 函数?

【问题讨论】:

  • 我用easyXDM.js跨域消息解决了这个问题
  • 你刚刚拯救了这一天@NaeemShaikh。我会再看看window.postMessage,这正是我所追求的。感谢您的回复 john,我将首先查看 HTML5 方法,然后如果所有其他方法都失败,请阅读 easyXDM。在必要之前,我宁愿减少对 3rd 方组件的需求(我假设是这样)。

标签: javascript dom iframe web same-origin-policy


【解决方案1】:

我很高兴地说,HTML5 似乎通过window.postMessage 解决了这个问题:

https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage

根据 Naeem 在 cmets 中发布的链接,某些浏览器可能存在一些兼容性问题,但可以克服。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 2022-01-02
    • 2011-10-19
    • 2013-10-24
    相关资源
    最近更新 更多