是否可以在加載頁面之前調用JS代碼(或在頁面上調用其他JavaScript代碼之前)?例如:使用webbrowser控件,我導航到「http://google.com」,但在執行任何js代碼之前,我想做一些類似「alert('one moment!');」。C#在頁面加載之前調用JS
任何想法,我怎麼能做到這一點?我猜想我必須在完全加載之前修改html,添加js函數,然後使用invokescript執行它,但不知道如何去做。
是否可以在加載頁面之前調用JS代碼(或在頁面上調用其他JavaScript代碼之前)?例如:使用webbrowser控件,我導航到「http://google.com」,但在執行任何js代碼之前,我想做一些類似「alert('one moment!');」。C#在頁面加載之前調用JS
任何想法,我怎麼能做到這一點?我猜想我必須在完全加載之前修改html,添加js函數,然後使用invokescript執行它,但不知道如何去做。
我的第一個建議是使用腳本<head> tag
內:
<body>
<head>
<script type="text/javascript">
// ...
</script>
你可以使用jQuery:
$(document).ready(function()
{
// ...
});
或者:
window.onload = function()
{
// ...
}
在任何情況下,你必須做出一個特殊的努力不做這種事情。這是一個非常糟糕的做法,特別是涉及用戶交互時。
你想實現一個加載屏幕?我通過在頁面加載時強制執行回發,在回發中執行繁重的操作,然後在回發完成時隱藏加載屏幕。
將下面的代碼放在頁面頂部。這將被稱爲甚至在整個文件加載之前
<script type="text/javascript">
// add javascript code
alert('Page not even loaded but the javascript runs');
</script>
這將做必要的。如果您希望腳本在DOM對象完成並且頁面加載完成後運行,請在document.ready中執行它
如果您使用C#(剃刀渲染引擎),則可以在您的頂部使用以下代碼頁面
@if(true){
<script>
// your script
</script>
}
查看這篇文章的頂部[http://stackoverflow.com/questions/5642233/load-javascript-before-rendering-page][1] [1]:HTTP ://stackoverflow.com/questions/5642233/load-javascript-before-rendering-page – keeg