好吧,这可能只是一个愚蠢的问题,但我确信还有很多其他人不时会问同样的问题.我,我只是想以任何方式100%确定.有了jQuery,我们都知道这很精彩
$('document').ready(function(){});
Run Code Online (Sandbox Code Playgroud)
但是,假设我想运行一个用标准JavaScript编写的函数,没有库支持它,并且我想在页面准备好处理它时立即启动一个函数.什么是正确的方法来解决这个问题?
我知道我能做到:
window.onload="myFunction()";
Run Code Online (Sandbox Code Playgroud)
......或者我可以使用body标签:
<body onload="myFunction()">
Run Code Online (Sandbox Code Playgroud)
...或者我甚至可以在所有内容之后尝试在页面底部,但结尾body或html标记如:
<script type="text/javascript">
myFunction();
</script>
Run Code Online (Sandbox Code Playgroud)
什么是以jQuery方式发布一个或多个函数的跨浏览器(旧/新)兼容方法$.ready()?
我知道我可以使用不同的框架(如prototype或jquery)将函数附加到window.onload,但这不是我正在寻找的.
我需要像.readyState这样的东西,这样我就可以这样做:
if(document.isReady){
var id = document.getElem ...
}
Run Code Online (Sandbox Code Playgroud)
除了使用框架的功能之外,还有其他方法吗?
我正在写一个Javascript脚本.此脚本可能会异步加载(AMD格式).
在这个脚本中,在window.load事件被触发之前,我不想做任何重要事情.所以我听窗口"加载"事件.
但是如果在window.load事件之后加载脚本......我怎么知道window.load已经被触发了?
当然我不想在任何其他脚本中添加内容(它们都是异步加载,问题是一样的):)
编辑:
想象一下,根本没有Javascript的HTML文档.
有人在此doc中插入一个标记,并且此脚本标记加载我的Javascript文件.
这将执行我的脚本.
这个脚本如何知道window.load是否已被触发?
我之前没有jQuery,也没有HTML文档中的任何脚本.
有可能知道??
我找到了window.document.readystate属性.此属性用于文档"就绪"事件我gess,而不是窗口"加载".窗口"加载"事件有什么类似的吗?
如何在Google Optimize广告系列中运行窗口加载或文档准备好的javascript?看起来它允许我选择DOM元素一直到Body,但我需要在文档就绪上运行js.
我一直在对window.document对象进行一些研究,以确保我的一个JavaScript解决方案是可靠的.是否存在window.document对象为null或未定义的情况?
为了便于讨论,这里是一段不相关的示例代码.是否有任何情况下这段代码会失败(又称抛出异常)?
$(document).ready(function() {
var PageLoaded = (window.document.readyState === "complete");
});
Run Code Online (Sandbox Code Playgroud)