我有一个iframe
在我的页面中。如果iframe
无法加载,希望加载alert
消息“找不到pdf“如果iframe
确实加载,应该alert
"pdf打开".
有谁知道如何实现这一目标?
因此,我们的想法是使用 Ajax 请求来“测试”URL。 Ajax 请求使您能够绑定“成功”和“错误”处理程序 - 与此不同<iframe>
仅提供“加载”处理程序的元素。
当然,Ajax 请求受到同源策略的限制(除非 Web 服务器启用 CORS),但您声明 PDF 位于同一域中,因此不应该有任何问题。
另外,您声明您使用 Mootools 库 - 我使用 jQuery,因此我只能为您提供 jQuery 解决方案,但由于我们正在使用“成功”和“错误”处理程序发出简单的 Ajax 请求,因此您应该能够轻松地基于我的 jQuery 解决方案重新创建 Mootools 解决方案。
因此,给定一个 iframe 和一个 URL:
var iframe = $( '#iframe' )[0]; // reference to IFRAME element
var url = 'files/document1.pdf';
Ajax 请求:
$.get( url, function () {
iframe.onload = function () { alert( 'PDF opened!' ); };
iframe.src = url;
}).error( function () { alert( 'PDF not found' ); });
成功演示: http://jsfiddle.net/CZWdL/1/show/
错误演示: http://jsfiddle.net/CZWdL/2/show/
因此,如果 Ajax 请求触发“错误”事件,我们只需立即发出“未找到”消息警报即可。然而,如果 Ajax 请求触发“成功”事件,我们会为 IFRAME 元素分配一个“加载”处理程序(此“加载”处理程序最终将提醒“已加载”消息),并将 URL 设置为其src
手动属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)