jquery如何在每次iframe更改状态时收集iframe的内容
jquery how do i collect the content of an iframe each time the iframe changes state?
我正在做一个项目,我想收集一个隐藏iframe的内容,并在加载时每次iframe更改状态时将其作为div的html,这样页面就会像重定向并下载其内容一样,但页面的标题和底部也不会刷新。
一个很好的例子是facebook如何在重定向时保持他们的航向和立足点不变。
我已经使用onload
实现了将iframe内容收集到div,但问题是,在收集之前,内容不会完全从iframe下载,即图像、.css
文件和.js
文件。
这是我尝试过的一个代码:
加载时用于收集内容的脚本
<script type="text/javascript">
function frame_loaded(){
var content=$('#iframe_id').contents().find('#body');
$('#my_div').html(content);
}
</script>
和框架
<iframe id="iframe_id" src="some_url.php" style="display: hidden;" onload="frame_loaded()"></iframe>
和DIV
因此,我使用setTimeout()
来减慢1秒的时间,以便帧在收集内容之前加载内容并完全执行其脚本
这是代码:
setTimeout(function(){
$('#my_div').html(content);
},1000);
有时内容仍然无法完成从iframe下载之前收集的内容。
我不知道如何在iframe完全加载或处于就绪状态时收听它。
如果有人能告诉我最好的方法,我会非常感激,因为我对此很陌生。
我建议使用portholejs,它将帮助您与iframe(域xyz.com)交互,并且您可以在iframe和包含它的页面(域abc.com)之间传递消息。例如,在您的情况下,当iframe加载时,您可以将布尔值(来自xyx.com)传递到包含iframe的页面(abc.com它舷窗如何在这里工作的工作示例。希望能有所帮助。
有点"愚蠢",但试试这个(我没有你的代码,所以对我来说有点"困难"
$(document).on('load','#iframe_id',function(){
var content = $(this).content().find('#body');
$('my_div').html(content);
})
相关文章:
- 防止Iframe窗体在新窗口中打开
- 将样式表插入iframe
- 事件和状态
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 获取选择框的状态
- Internet Explorer:可以't访问IFrame内容,除非状态代码为200
- 如何使用 iframe.src 下载文件时获取返回状态代码
- 保留 iframe 页面的状态
- jquery如何在每次iframe更改状态时收集iframe的内容
- 我们如何从dojo.io.iframe.send调用中提取状态代码?
- 通过Javascript在各种浏览器窗口/选项卡中维护iFrame页面的状态
- 如何在DOM中移动iFrame而不丢失其状态
- 从iframe改变父元素的状态
- 如何在javascript中捕捉母版页Iframe中的鼠标空闲状态
- 在IFRAME中动态更新JavaScript后重置状态
- IE11在iFrame的Ajax POST操作期间返回状态0 (XMLHttpRequest: Network Erro
- 使用Rails上传AJAX文件后检查iframe状态
- 在iPad上播放playVideo()命令后,YouTube iFrame API处于缓冲状态
- iframe和Chrome气泡状态栏可以做些什么
- 使用YouTube Iframe API内部的jquery插件来获取状态