我知道IE支持onreadystatechange
标记上的object
属性,但这似乎不是标准方式,因此所有其他浏览器都不支持它。
更新:为了澄清,我不是在寻找DOM Load事件,我正在寻找object
标签本身的加载事件(例如将object
标签嵌入到页面中)。
在某种程度上,我正在为img
标记寻找与onload
的{{1}}事件/ complete
属性类似的内容。
答案 0 :(得分:5)
<object onload>
属性适用于最新版本的Firefox,Chrome和Opera(我刚刚测试过它)。
此外,表达式'onload' in document.createElement('object')
在Chrome和Opera中评估为true
;很自然,Firefox是一个例外,因为这种事件支持检查通常不起作用。 kangax描述了http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
答案 1 :(得分:1)
所以你想在加载[PDF]对象后触发一个事件? 如果是这样,这可能会对您有所帮助:
http://www.webdeveloper.com/forum/showthread.php?t=160792
----- EDITED [19/10/2011] -----
如果您在iframe中加载PDF,它将起作用。
请检查:http://sykari.net/stuff/iframe
在完全加载PDF后,脚本将仅在后发出警报 (经FF7 + Win7测试)。
----- EDITED [20/10/2011] -----
使用JQuery:http://jsfiddle.net/fcABz
为了确保它正常工作,我已经向iframe添加了一个36页的PDF文件,因此您可以观看进度条(至少在FF7中有一个,不确定Chrome),并且在它完全显示之后加载后,您将看到警报。
为什么呢?因为JQuery中的 .load 方法将等到iframe中的所有子元素都被加载。
当它和所有子元素已完全加载时,加载事件将发送到元素。此事件可以发送到与URL关联的任何元素:图像,脚本,框架, iframes 和窗口对象。
如果您想再试一次,请清除缓存 或者将PDF更改为更大的PDF,例如http://pubs.usgs.gov/tei/532/report.pdf(90页)。
答案 2 :(得分:-1)
我不确定你只能使用对象属性来做到这一点。
看看这个:
您可以使用onreadystatechange
数据加载良好时,readyState==4
和xmlhttp.status==200
您可以尝试使用jQuery load function:
在名为<object/>
的页面中导出object.html
。
在您的主页中包含:
<div id="theObject"></div>
<script>
$("#theObject").load("object.html",
function(response, status, xhr) { alert('Loaded : '+status);});
</script>
请求完成时将显示该消息。