Javascript window.onload启动了吗?

Javascript window.onload启动了吗?,javascript,domready,Javascript,Domready,我有一个脚本,将在未知时间插入未知页面。是否可以从该脚本判断window.onload是否已启动 我无法控制主机页。我无法向其中添加任何标记或脚本。我只知道我的脚本将在某个时候插入到页面中。它可以在window.onload之前或之后;我需要检测事件的哪一方。jQuery的ready()将在加载文档时对要触发的函数进行排队,或者在文档已加载时立即触发: $(document).ready(function() { //your code here }); 只需确保jQuery包含在脚本

我有一个脚本,将在未知时间插入未知页面。是否可以从该脚本判断window.onload是否已启动

我无法控制主机页。我无法向其中添加任何标记或脚本。我只知道我的脚本将在某个时候插入到页面中。它可以在window.onload之前或之后;我需要检测事件的哪一方。

jQuery的
ready()
将在加载文档时对要触发的函数进行排队,或者在文档已加载时立即触发:

$(document).ready(function() {
    //your code here
});

只需确保jQuery包含在脚本块之前。如果无法直接包含任何脚本资源,则可以始终将的主体复制到脚本本身中。

更新的答案: 他使用了一个技巧,查看document.getElementsByTagName(“*”)的最后一个元素是否已定义。它似乎在歌剧和IE中起作用


原始答案: 您无法检查,但可以执行以下操作:

window.setTimeout(function () {
    // do your stuff
}, 0);

在页面加载后,您的工作肯定会完成。

我觉得“未知时间”部分很奇怪。这是给书签的吗?动态
包含?不知道包含您自己的脚本的基本用例似乎很奇怪……这是一个动态脚本包含。从1.3.2开始,我无法确定它是否发生在window.onload.jQuery之前或之后。如果在非IE浏览器中加载了文档(例如bookmarklet、dynamic inclusion等),则无法检测是否加载了文档。在这种情况下,将永远不会调用传递给
.ready()
的函数。我不确定OP是否在询问这样一个用例,但我想我应该提到它。除非在window.onload之前加载jQuery的ready函数,否则它似乎不起作用。@Diet:在IE中,正如我提到的,它起作用了。无论如何,我从您的评论中了解到,如果通过注入DOM的动态
标记包含,那么您正在编写的代码需要工作?请澄清。好的,这是我所描述的错误报告:8个月来没有发生任何事情:(原始帖子询问的是window.onload,而不是DOM ready。-1在Opera中DOM准备就绪之前,它将运行函数,并且可能在IE中出错。请参阅IE问题。发现得不错。我想在洗衣房中运行该解决方案,看看它的效果如何。正如答案中所解释的,我不知道OP问题的真正答案。但是,他的si我的回答可能有助于判断,这取决于
window.onload
和DOM ready之间的差异是否显著。