C#在加载页面之前调用JS

时间:2013-01-17 04:25:06

标签: c# javascript webbrowser-control

是否可以在页面加载之前(或在页面上调用其他javascript代码之前)调用JS代码?例如:使用webbrowser控件,我导航到“http://google.com”,但在执行google上的任何js代码之前,我想做一些类似“alert('片刻!');”的事情。

关于如何实现这一目标的任何想法?我猜我必须以某种方式在完全加载之前修改html,添加js函数,然后使用invokescript执行它,但不知道我是怎么做的。

4 个答案:

答案 0 :(得分:1)

我的第一个建议是在<head> tag

中使用脚本
<body>
    <head>
    <script type="text/javascript">
        // ...
    </script>

你可以使用jQuery:

$(document).ready(function()
{
    // ...
});

或者:

window.onload = function()
{ 
    // ...
}

无论如何,你必须特别努力不要做这种事情。这是一种非常糟糕的做法,特别是如果它涉及用户互动。

答案 1 :(得分:0)

您是否尝试实施加载屏幕?我通过在页面加载时强制回发,在回发中执行繁重的操作,然后在回发完成时隐藏加载屏幕来完成此操作。

答案 2 :(得分:0)

将以下代码放在页面顶部。这甚至可以在整个文档加载之前调用

<script type="text/javascript">
    // add javascript code
    alert('Page not even loaded but the javascript runs');
</script>

这将是必要的。如果您希望脚本在post对象运行后完成并且页面加载完成,请在document.ready

中执行

答案 3 :(得分:0)

如果您使用C#(Razor Render引擎),则可以在页面顶部使用以下代码

@if(true){
<script>
 // your script
</script>
}