我有一个包含 iframe 的小部件。用户可以配置此 iframe 的 url,但如果无法加载 url(它不存在或用户无法访问互联网),则 iframe 应故障转移到默认的离线页面。
问题是,如何检测 iframe 是否可以加载?我尝试订阅“加载”事件,如果一段时间后未触发此事件,那么我将进行故障转移,但这仅适用于 Firefox,因为 IE 和 Chrome 在“找不到页面”时触发“加载”事件显示。
最佳答案
我通过 Google 找到了以下链接:http://wordpressapi.com/2010/01/28/check-iframes-loaded-completely-browser/
不知道是否解决了“找不到页面”的问题。
<script type="javascript">
var iframe = document.createElement("iframe");
iframe.src = "http://www.your_iframe.com/";
if (navigator.userAgent.indexOf("MSIE") > -1 && !window.opera) {
iframe.onreadystatechange = function(){
if (iframe.readyState == "complete"){
alert("Iframe is now loaded.");
}
};
} else {
iframe.onload = function(){
alert("Iframe is now loaded.");
};
}
</script>
我自己没试过,不知道行不行。祝你好运!
关于javascript - 检测iframe内容是否加载成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4548984/