gpt4 book ai didi

javascript - 无法从 iframe 访问浏览器平板电脑(Firefox 除外)中的父级 javascript

转载 作者:行者123 更新时间:2023-11-28 09:28:30 24 4
gpt4 key购买 nike

我的页面上有一个 iframe,我想从该 iframe 访问父页面的功能。在 PC 浏览器中使用此功能效果很好:

parent.function()

问题出在平板电脑浏览器中,当我尝试访问该函数时,它返回“未定义”并且找不到父级,就像不存在一样。但这个问题在 Android 版 Firefox 浏览器中不会发生,它是唯一在平板电脑上运行良好的浏览器。

PD:两个页面(父页面和 iframe)位于同一域中。

谢谢!

最佳答案

如果浏览器是html5,请尝试使用html5通信方法:postMessage。 postMesseage 允许跨域通信。

//parent code
window.addEventListener("message",function(msg){
msg.data;
//... do something
}, false);

//iframe code
parent.postMessage("hi daddy");

使用 JSON.parse(...) 和 JSON.stringify(...) 您可以发送如下对象:

{
command: "methodName",
arguments:[100, 200, "my string"]
}

父窗口应该解释 iframe 发送的命令。因此,您有一个允许 iframe 的小型 API 实现。

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

关于javascript - 无法从 iframe 访问浏览器平板电脑(Firefox 除外)中的父级 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988693/

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