在onLoad / onPageShow之前是否有任何事件处理程序? onLoad的问题是如果显示有任何变化,页面将在完全加载之前显示而不会发生变化,然后脚本将运行。确保它尽快运行的最佳方法是什么?
答案 0 :(得分:24)
如果你将Javascript 语句(而不是函数定义)放在<script>
标记内,它们将在页面加载期间执行 - 在onLoad事件被触发之前。
<html>
<body>
<h2>First header</h2>
<script type="text/javascript">
alert("Hi, I am here");
document.write("<h3>This is Javascript generated</h3>");
</script>
<h2>Second header</h2>
</body>
</html>
需要注意的是,您无法按ID搜索元素,因为这些元素可能尚未呈现,因此您以此方式更改页面的能力有限。
底线:可能,不推荐。
在这种情况下我通常做的如下:
style="visibility:hidden;"
); visibility:visible
。答案 1 :(得分:-1)
简单的答案是将DOM元素放在页面正文中的脚本标记内。我有这个问题使用JavaScript函数来设置我的导航菜单链接,但是我有一个谷歌地图元素导致页面加载缓慢。在这个特殊的页面上,我在链接之后运行了脚本。这是一个解决方案,可能不是最好的,但它的工作原理。希望这会有所帮助。