gpt4 book ai didi

javascript - 在外部 iframe 中设置输入字段的值

转载 作者:行者123 更新时间:2023-11-27 23:50:05 25 4
gpt4 key购买 nike

我知道这个问题已经被问过很多次了,但每个人都根据自己的需要提出这个问题,所以找不到对我有帮助的答案

我有两个站点并且可以访问这两个站点并且可以在两个站点中添加我需要的任何内容

我的第一个站点

http://www.mysite1.com

在这个网站上

我有特定值的文本字段我有一个 iFrame,其内容来 self 的其他网站。

<input type='text' name='test1' value='5'>
<iframe name='myframe' src='http://www.mysite2.com/index.php'></iframe>

在这个页面上

http://www.mysite2.com/index.php

我有输入文本框

我想要实现的是:

从我的第一个站点获取特定值到我第二个站点的输入字段

最佳答案

由于操作具有不同来源的帧会导致发生跨域错误,因此您必须使用 window.postMessage()向 child 发送消息的方法<iframe>然后,在里面听 window.onmessage并处理消息。

这是一个例子,假设你有一个像这样的 DOM 结构:

  • 站点 #1 (www.mysite1.com):

    <body>
    <iframe id="site2-frame" src="http://www.mysite2.com/index.php"></iframe>
    </body>
  • iframe 中的网站 #2 (www.mysite2.com):

    <body>
    <input id="input-field" />
    </body>

然后在您的站点 #1 中,您必须向框架发送一条消息,如下所示:

var frame = document.getElementById('site2-frame');

frame.contentWindow.postMessage('Something something something', '*');

在您的网站 #2,即框架内的网站中,您将收听消息并设置数据:

var input = document.getElementById('input-field');

window.addEventListener('message', function(e) {
// Check the origin, accept messages only if they are from YOUR site!
if (/^http\:\/\/www\.mysite1\.com/.test(e.origin)) {
input.value = e.data;
// This will be 'Something something something'
}
});

关于javascript - 在外部 iframe 中设置输入字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27827427/

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