Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.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
尝试在DOM中移动iframe而不刷新。铬';s";“采用节点”;似乎不起作用_Dom_Google Chrome_Iframe - Fatal编程技术网

尝试在DOM中移动iframe而不刷新。铬';s";“采用节点”;似乎不起作用

尝试在DOM中移动iframe而不刷新。铬';s";“采用节点”;似乎不起作用,dom,google-chrome,iframe,Dom,Google Chrome,Iframe,这是交易(过于简化了一点) 我正在创建一个有“选项卡”的应用程序,每个选项卡都可以有类似的内容显示为iFrame。 因此,我希望在tab开关之间共享这些,因为来自iFrame加载的初始请求有点昂贵 然而,这需要我“保存”iframe,然后在DOM上重新插入。 这有两个问题: 1) 当iframe位于内存中时,我似乎无法访问iframe的contentWindow来调用javascript函数 2) iframe在插入DOM时会重新加载 我阅读了该文档。adoptNode可能会解决问题2,因此我尝

这是交易(过于简化了一点) 我正在创建一个有“选项卡”的应用程序,每个选项卡都可以有类似的内容显示为iFrame。 因此,我希望在tab开关之间共享这些,因为来自iFrame加载的初始请求有点昂贵

然而,这需要我“保存”iframe,然后在DOM上重新插入。 这有两个问题: 1) 当iframe位于内存中时,我似乎无法访问iframe的contentWindow来调用javascript函数 2) iframe在插入DOM时会重新加载

我阅读了该文档。adoptNode可能会解决问题2,因此我尝试了以下方法

<html> 
 <head> 
 </head> 
 <body> 
  <script> 

    window.onload = function() {
            setTimeout(adoptIFrame, 500);
        };

    var next = ['red', 'blue']
    var index = 0;

    function adoptIFrame() {
        var iFrame = document.adoptNode(document.getElementById("frame")); 
        document.getElementById(next[index++ % 2]).appendChild(iFrame) 
        setTimeout(adoptIFrame, 500);
    }

  </script> 

    <div id="red" style="width:500;height:500;background-color:red;">
    </div>
    <div id="blue" style="width:500;height:500;background-color:blue;">
        <iframe src="your_url" id="frame"/>
    </div>

   </body>

window.onload=函数(){
设置超时(采用帧,500);
};
var next=['红色','蓝色']
var指数=0;
函数adoptIFrame(){
var iFrame=document.adoptNode(document.getElementById(“frame”);
document.getElementById(下一个[index++%2]).appendChild(iFrame)
设置超时(采用帧,500);
}

但每次重新插入时,仍会进行刷新


有什么想法吗?

这有点晚了,但由于我遇到了相同的问题,我做了一些研究,似乎该功能已从Webkit中删除: