我正在开发一个 asp.net Web 应用程序。在该应用程序中,我需要在表单body-onload
事件之前执行一些 java 脚本。
html标记
<body onload="ShowWait();">
......
</body>
我在这里ShowWait();
运行body-onload
。此脚本显示一个请稍候窗口。但我需要在此事件之前运行此代码。是否有任何事件可以帮助我在页面加载之前运行脚本。
我正在开发一个 asp.net Web 应用程序。在该应用程序中,我需要在表单body-onload
事件之前执行一些 java 脚本。
<body onload="ShowWait();">
......
</body>
我在这里ShowWait();
运行body-onload
。此脚本显示一个请稍候窗口。但我需要在此事件之前运行此代码。是否有任何事件可以帮助我在页面加载之前运行脚本。
鉴于调用了该函数ShowWait()
,您不需要“在页面加载之前运行 JavaScript”,但您希望“在页面加载之前显示加载屏幕”。
只需将加载元素放入您的 HTML 中,并在页面加载后使用 JavaScript 将其删除。
将脚本标记放在要运行的脚本的 head 元素中
为什么不把那行放在脚本标签中作为正文的第一行?它将作为第一件事运行。
如果您将 Javascript 语句(而不是函数定义)放在标签内,它们将在页面加载期间执行 - 在触发 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 搜索元素,因为这些元素可能尚未呈现,因此您以这种方式更改页面的能力受到限制。
底线:可能,不推荐。
在这种情况下,我通常会做的事情如下:
Make the parts of the page that may change invisible (via style="visibility:hidden;");
Make onLoad run a Javascript code that changes the page and then sets the visibility of the said parts to visibility:visible.