如何在页面加载之前运行 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?

在页面加载时自动运行javascript代码[重复]

WebEngineView - 立即运行JavaScript(在执行页面脚本之前)

使用flutter_webview_plugin加载页面后如何在WebView中执行JavaScript代码

如何在继续使用 Javascript 之前完全加载页面?