如何在页面加载之前运行 JavaScript 代码?
Posted
技术标签:
【中文标题】如何在页面加载之前运行 JavaScript 代码?【英文标题】:How to run JavaScript code before page load? 【发布时间】:2011-10-20 02:49:57 【问题描述】:我在 asp.net 网络应用程序中工作。这里我需要在页面加载之前运行 JavaScript。
我试过了:
<body oninit="funinit();" onprerender="funRender();" onload="funload();">
</body>
<script type="text/javascript" language="javascript">
function funinit()
alert("funinit");
function funload()
alert("funload");
function funRender()
alert("funRender");
</script>
这里只有 funload() 工作。
【问题讨论】:
***.com/questions/5666037/… 【参考方案1】:您可以将 window.onpaint 用于以下目的:
<script type="text/javascript">
function preloadFunc()
alert("PreLoad");
window.onpaint = preloadFunc();
</script>
希望对你有帮助....
【讨论】:
仅供参考:onpaint doesn't work currently, and it is questionable whether this event is going to work at all
,更多信息请访问***.com/a/23657265/216084
根据the MDN article,不仅 onpaint 是非标准的,并且在 Firefox 上不起作用(因此它不是一个好的跨浏览器解决方案),而且它也可以运行 after onload 事件
@user216084 你的评论是在这个回答后 4 年!【参考方案2】:
尝试将您的脚本放在页面的头部:
<head>
<script type="text/javascript" language="javascript">
alert("funinit");
alert("funRender");
</script>
</head>
【讨论】:
【参考方案3】:为什么不使用ClientScriptManager.RegisterClientScriptBlock Method
http://msdn.microsoft.com/en-us/library/btf44dc9.aspx
【讨论】:
【参考方案4】:只需在您希望它运行的主体内的任何位置插入一个
【讨论】:
【参考方案5】:只是内联它?
<script type='text/javascript'>
alert("funload");
</script>
或者把它放在一个函数中并立即调用它。尝试将其放在页面的最顶部,但是由于 DOM 尚未加载,因此您无法获取任何其他元素。
你想做什么?
【讨论】:
以上是关于如何在页面加载之前运行 JavaScript 代码?的主要内容,如果未能解决你的问题,请参考以下文章
Selenium:如何在加载/执行页面的任何其他脚本之前将 Javascript 注入/执行到页面中?
如何确保 D3 在 javascript 运行之前完成加载多个 CSV?
WebEngineView - 立即运行JavaScript(在执行页面脚本之前)