gpt4 book ai didi

javascript - window.parent.document 在 firefox 中工作,但在 chrome 和 IE 中不工作

转载 作者:太空狗 更新时间:2023-10-29 13:50:29 25 4
gpt4 key购买 nike

我的想法是从 iframe 更新主页面中文本框的值。此代码适用于 firefox ,但不适用于 Internet ExplorerChromemain.htmlframe.html 都在同一个位置。我需要建议以使其适用于所有浏览器。

main.html

<!DOCTYPE html>
<html>
<head>
<title> main window </title>
</head>
<body>
Parent textbox :<input type="text" id="parentbox"></br></br></br>
<iframe src="frame.html" ></iframe>
</body>
</html>

框架.html

<!DOCTYPE html>
<html>
<head>
<title> frame window </title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
function PushValues()
{
var frame_value = document.getElementById("framebox").value;
window.parent.document.getElementById("parentbox").value =frame_value;
}
</script>
</head>
<body>
<input type="text" id="framebox" >
<input type="button" value ="fill" onclick="PushValues()">
</body>
</html>

最佳答案

根据安全策略,跨域访问受到限制。如果您尝试在域 2 中显示域 1 中的页面并尝试从域 1 中的脚本操作域 2 中页面的 DOM,则会发生这种情况。如果您从服务器上的相同位置运行页面。这不应该发生。但是,如果您只是将它们保存为 HTML 文件并尝试在浏览器中打开它们,则它应该不起作用。我为你的代码创建了两个 jsbins,它正在 chrome 上工作。尝试使用以下链接访问它们。

Main.html:http://jsbin.com/afazEDE/1iframe.html:http://jsbin.com/ayacEXa/1/

通过在 chrome 中保持控制台打开 (F12) 并单击填充按钮,尝试在 JSBin 中以编辑模式运行 main.html。它不会工作,并会向您显示错误。如果你按原样运行它们(在 JSBin 的运行模式下),它就会工作。

关于javascript - window.parent.document 在 firefox 中工作,但在 chrome 和 IE 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17781938/

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