Kun*_*ist 9 html javascript iframe onload
iframe我的页面中有一个.如果iframe没有加载,想要它alert的消息" pdf not found ",如果iframe加载,它应该alert" pdf打开 ".
有谁知道如何实现这一目标?
Šim*_*das 10
因此,我们的想法是使用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';
Run Code Online (Sandbox Code Playgroud)
Ajax请求:
$.get( url, function () {
iframe.onload = function () { alert( 'PDF opened!' ); };
iframe.src = url;
}).error( function () { alert( 'PDF not found' ); });
Run Code Online (Sandbox Code Playgroud)
成功演示: http ://jsfiddle.net/CZWdL/1/show/
错误演示: http ://jsfiddle.net/CZWdL/2/show/
因此,如果Ajax请求触发"错误"事件,我们只需立即警告"未找到"消息.但是,如果Ajax请求触发"成功"事件,我们为IFRAME元素分配一个"加载"处理程序(这个"加载"处理程序最终将警告"已加载"消息),并src手动将URL设置为其属性.