gpt4 book ai didi

javascript - Opera 中 document.onload 事件中插件的事件监听器

转载 作者:行者123 更新时间:2023-11-30 18:55:16 25 4
gpt4 key购买 nike

我试图了解一个问题,即插件上的事件监听器注册在 Opera 中不起作用,除非我延迟它们。

特别是,这不起作用:

document.onload = function() {
plugin.addEventListener("foo", function() { alert('onFoo'); }, false);
}

同时通过例如延迟 addEventListener() 调用alert() 会:

document.onload = function() {
alert('onload()');
plugin.addEventListener("foo", function() { alert('onFoo'); }, false);
}

似乎插件只在document.onload之后加载。

作为非网络开发人员,我是否遗漏了一些简单的东西?或者这是具有常见解决方法的已知 Opera 问题?

最佳答案

一般来说,插件初始化、脚本执行和文档事件处理的时间没有明确规定,这意味着浏览器可能会做不同的事情。

在这种情况下,听起来您需要确保插件在添加监听器之前已初始化。一种方法是检查插件将定义的属性(例如,如果它是一个 Flash 插件,您可以检查是否定义了 PercentLoaded 以查看它是否准备好编写脚本。)如果没有准备好编写脚本,您可以使用超时稍后重试。

在 Opera,我们最近一直在努力与该领域的大多数其他浏览器保持一致,而 Opera 10.50 可能更适合您。不过,我不确定我们是否已经完全控制了一切 - 如果 10.50 中的行为是否发生了变化,请听取您的意见会很有趣。

关于javascript - Opera 中 document.onload 事件中插件的事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com