如何从页面中临时删除 iframe,然后在不重新下载 iframe 内容的情况下重新添加 iframe?
How can you temporary remove an iframe from a page, and later add the iframe back without re-downloading the iframe content?
我有一个包含一些 IFrame 的页面。这些 IFrame 位于同一域中。我想在打开模态 window 时从页面中删除 iframe 内容,以减少模态 window.
中的滞后
然后,当我关闭模式 window 时,我希望将 IFrames 重新附加到页面。
问题是,当我重新附加 IFrames 时,我尝试的每种方法都会重新下载它们。我不确定是否可以这样做。
例如,jQuery 有一个分离方法,应该不需要您再次下载内容,但这不起作用。
var detatchWidgets = $container.find("iframe");
detatchWidgets.detach();
msgDialog.on('hidden.bs.modal', function(){
$container.append(detatchWidgets);
});
首先,对不起,如果我误解了你。
只是为了测试我创建了 2 个 JSFIDDLE:
1) 我用作 iframe 的 src,它会在 iframe 加载后 2 秒发出警报
https://jsfiddle.net/hr97240j/10/
setTimeout(function(){
alert("loaded and iframe says hello");
},2000);
2) 这是嵌入了iframe的页面。
https://jsfiddle.net/hr97240j/12/
第二次我显示iframe,然后隐藏它,3秒后我再次显示它,我可以说,iframe的src没有再次重新加载!
我看到 iframe 的内容,但没有像第一次加载时那样出现任何新警报。
我有一个包含一些 IFrame 的页面。这些 IFrame 位于同一域中。我想在打开模态 window 时从页面中删除 iframe 内容,以减少模态 window.
中的滞后然后,当我关闭模式 window 时,我希望将 IFrames 重新附加到页面。
问题是,当我重新附加 IFrames 时,我尝试的每种方法都会重新下载它们。我不确定是否可以这样做。
例如,jQuery 有一个分离方法,应该不需要您再次下载内容,但这不起作用。
var detatchWidgets = $container.find("iframe");
detatchWidgets.detach();
msgDialog.on('hidden.bs.modal', function(){
$container.append(detatchWidgets);
});
首先,对不起,如果我误解了你。 只是为了测试我创建了 2 个 JSFIDDLE:
1) 我用作 iframe 的 src,它会在 iframe 加载后 2 秒发出警报
https://jsfiddle.net/hr97240j/10/
setTimeout(function(){
alert("loaded and iframe says hello");
},2000);
2) 这是嵌入了iframe的页面。
https://jsfiddle.net/hr97240j/12/
第二次我显示iframe,然后隐藏它,3秒后我再次显示它,我可以说,iframe的src没有再次重新加载! 我看到 iframe 的内容,但没有像第一次加载时那样出现任何新警报。