我正在开发一个项目,我想收集一个隐藏的iframe的内容,并在每次iframe在加载时改变状态时使其成为div的html,这样它就像页面被重定向并下载其内容,但页面的标题和基础也不会刷新。
一个很好的例子就是facebook如何在重定向时保持其标题和基础固定。
我已经使用onload
将divrame内容收集到div中,但问题是,在收集之前内容不会从iframe完全下载,即图像,.css
文件和{{1文件。
这是我试过的代码:
用于收集内容的脚本
.js
和框架
<script type="text/javascript">
function frame_loaded(){
var content=$('#iframe_id').contents().find('#body');
$('#my_div').html(content);
}
</script>
和DIV
所以我使用<iframe id="iframe_id" src="some_url.php" style="display: hidden;" onload="frame_loaded()"></iframe>
来减慢时间1秒,所以框架会加载内容并在收集内容之前完全执行它。
以下是代码:
setTimeout()
有时内容仍然无法在收集之前从iframe下载内容。
我不知道如果iframe完全加载或听取它的就绪状态,如何监听iframe。
如果有人能告诉我这样做的最佳方法,那将非常感激,因为我对此非常陌生。
答案 0 :(得分:-1)
有点“愚蠢”,但试试这个(我没有你的代码所以对我来说有点“难”
$(document).on('load','#iframe_id',function(){
var content = $(this).content().find('#body');
$('my_div').html(content);
})
答案 1 :(得分:-1)
我建议使用portholejs来帮助您与iframe(域xyz.com)进行交互,并且可以在iframe(域xyz.com)和保存它的页面之间传递消息(域abc 。例如,在iframe加载的情况下,您可以将布尔值(从xyx.com)传递到您的页面(abc.com),该页面包含iframe,然后下载内容,其中有一个工作示例,说明它是如何工作的here。 希望它有所帮助。