gpt4 book ai didi

javascript - 从 iFrame 调用父 JavaScript 函数的 HTML5 方式——除了使用 postMessage 之外?或 PhoneGap 应用程序的解决方案?

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:10 25 4
gpt4 key购买 nike

我们知道对跨窗口通信施加的跨域限制以及 HTML5 中 postMessage 的引入。

但是,我们想知道 iFrame 是否可以通过其他方式调用在其父窗口中定义的 JavaScript 函数。

我们发现 postMessage 调用多个方法有点笨拙,每个方法都需要多个参数。

如果不存在 HTML5 替代方案,则在 PhoneGap 中提供解决方案可加分。

PhoneGap 详细信息在这里:

我们在 PhoneGap“index.html”页面中嵌入了一个 iFrame。

从“index.html”,我们可以调用 JavaScript 函数或访问 iFrame 中的变量。

但是我们无法从 iFrame 调用“index.html”中的函数或访问变量。

PhoneGap 有什么东西可以阻止它反向工作吗?

谢谢!

最佳答案

postMessage 的替代方法是更改​​ URL 主题标签。在 JSON 消息中编码更复杂的消息并对文本进行编码/解码并不困难:

{"方法名": ['a', 'b', 3]}

变成:#%7B%22methodName%22%3A%20%5B'a'%2C%20'b'%2C%203%5D%7D

如果您在另一端有一个脚本来监视哈希变化和处理消息,那么您就可以开始了。

请注意,在支持 postMessage 的浏览器中,同样的技巧可以很好地工作。一种流行的方法是使用 postMessage 并回退到哈希更改。

关于javascript - 从 iFrame 调用父 JavaScript 函数的 HTML5 方式——除了使用 postMessage 之外?或 PhoneGap 应用程序的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com