Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改父窗口iframe的src_Javascript_Iframe_Postmessage - Fatal编程技术网

Javascript 更改父窗口iframe的src

Javascript 更改父窗口iframe的src,javascript,iframe,postmessage,Javascript,Iframe,Postmessage,假设我的网站是 我已经在其中加载了iframe,其中包含src 当我的Iframe被加载时,在该Iframe中我有一个重定向到的按钮。所以示例3不允许在Iframe内部打开,所以我的代码失败了 为了解决这个问题,我决定在另一个窗口中打开,然后做一些事情,关闭那个窗口。接下来,我将返回(iframe已加载的网站),并希望向我的iframe的src添加一个参数,以便我可以确定我已完成的任务,并希望更改和重新加载iframe的src 请帮助我如何解决这个问题。如果可能的话,请建议其他更好的方法 请随时

假设我的网站是 我已经在其中加载了iframe,其中包含src

当我的Iframe被加载时,在该Iframe中我有一个重定向到的按钮。所以示例3不允许在Iframe内部打开,所以我的代码失败了

为了解决这个问题,我决定在另一个窗口中打开,然后做一些事情,关闭那个窗口。接下来,我将返回(iframe已加载的网站),并希望向我的iframe的src添加一个参数,以便我可以确定我已完成的任务,并希望更改和重新加载iframe的src

请帮助我如何解决这个问题。如果可能的话,请建议其他更好的方法


请随时添加评论,以防我可以帮助您更好地理解我的问题

因为听起来好像你不能在新窗口中控制站点上的代码,所以你唯一能做的实际事情就是设置一个间隔,检查你用
window.open()
打开的新窗口是否从你打开的页面关闭

然后,在确定它已关闭后,为用户添加某种提示

var otherWindow = window.open('example3.com');

var timer = setInterval(function(){
   if(otherWindow.closed){
      clearInterval(timer);
      if(confirm('Did you complete that step?')){
        // adjust iframe url
      }
   }
},1000);// check every second if it is closed

现在实际的问题是什么?获取对iframe的引用?更改iframe的src?还有什么?我建议你再读一遍,然后相应地编辑这个问题,因为在目前的状态下,它很可能会因为脱离主题而被关闭。在关闭它的窗口之前,没有办法知道你是否真的在网站上做了你无法控制的事情。我不会关闭example3.com窗口。但是我可以使用example3.com窗口中的postMessage,并且可以在example.com窗口中接收,然后我将更改当前的iframe url@CharlietFlb但您不控制示例3上的代码,是吗?如果您这样做了,为什么不能将其设置为在iframe中加载呢?因此,在我的例子中,在成功完成一些任务后,在otherWindow中加载。它将重定向到带有一些标志的iframe src,这样我可以每秒检查otherWindow.location.href=,然后将postMessage发送到父窗口并关闭该otherWindow。当我的parentWindow收到该postMessage时,请更改Iframe src。是否正确?我不能100%确定您是否可以获得otherWindow href。不过这个主意听起来不错。可能还能够使用example2页面中的存储事件。你的工作流程对我来说还是有点混乱