是否有一个跨浏览器标准的on-load事件用于HTML's "object"标签

Is there a cross-browser standard on-load event for HTML's "object" tag?

本文关键字:quot 标签 object HTML 用于 浏览器 有一个 标准 事件 on-load 是否      更新时间:2023-09-26

我知道IE支持object标签上的onreadystatechange属性,但这似乎不是一种标准方式,因此所有其他浏览器都不支持它。

更新:为了澄清,我不是在寻找DOM加载事件,我正在寻找object标签本身的加载事件(例如。将PDF文件嵌入页面的object标记)。

在某种程度上,我正在寻找类似于imgonload事件/complete属性的object标签。

<object onload>属性在最新版本的Firefox, Chrome和Opera中工作良好(我刚刚测试了它)。

同样,表达式'onload' in document.createElement('object')在Chrome和Opera中计算为true;当然,Firefox是个例外,因为这种事件支持检查通常在那里不起作用。在http://perfectionkills.com/detecting-event-support-without-browser-sniffing/

中,Kangax描述了跨浏览器事件支持检测

所以你想在[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

为了确保它是工作的,我已经添加了一个36页的PDF文件到iframe,所以你可以观看进度条(至少在FF7有一个,不确定Chrome)上升,并在它完全加载后,你会看到一个警告。

为什么?因为。JQuery中的load方法将等待,直到iframe中的所有子元素都加载完成。

load事件在元素和所有子元素加载完成后发送给元素。此事件可以发送到与URL相关的任何元素:图像、脚本、框架、iframes和窗口对象。

如果您想尝试多次,请清除缓存。
或者将PDF更改为更大的,如http://pubs.usgs.gov/tei/532/report.pdf(90页)。

我不确定您是否可以仅使用对象属性来做到这一点。

看看这个:

  • 你可以尝试使用onreadystatechange

    当数据加载良好时,readyState==4xmlhttp.status==200

  • 你可以尝试使用jQuery加载函数:

    导出<object/>object.html页面

    在你的主页中包括:

    <div id="theObject"></div> <script> $("#theObject").load("object.html", function(response, status, xhr) { alert('Loaded : '+status);}); </script>