VB.NET 用WebBrowser,怎么执行网页上的JS function

JavaScript021

VB.NET 用WebBrowser,怎么执行网页上的JS function,第1张

不想用点击,直接执行,那么你肯定就不能用onclick事件了。

在网页中JS函数自动执行常用三种方法

在HTML中的Head区域中,有如下函数:

<SCRIPT

LANGUAGE="JavaScript">

functionn

MyAutoRun()

{

 //以下是您的函数的代码,请自行修改先!

 alert("函数自动执行哦!")

}

</SCRIPT>

下面,我们就针对上面的函数,让其在网页载入的时候自动运行!

①第一种方法

将如上代码改为:

<SCRIPT

LANGUAGE="JavaScript">

functionn

MyAutoRun()

{

 //以下是您的函数的代码,请自行修改先!

 alert("函数自动执行哦!")

}

window.onload=MyAutoRun()

//仅需要加这一句

</SCRIPT>

②第二种方法

修改网页的Body为:

<body onLoad="MyAutoRun()">

或者改为:

<body onLoad="javascript:MyAutoRun()">

③第三种方法

使用JS定时器来间断性的执行函数:

setTimeout("MyAutoRun()",1000) //隔1000毫秒就执行一次MyAutoRun()函数

实现方法,将最上面的那JS函数,改为:

<SCRIPT

LANGUAGE="JavaScript">

functionn

MyAutoRun()

{

 //以下是您的函数的代码,请自行修改先!

 alert("函数自动执行哦!")

}

setTimeout("MyAutoRun()",1000)

//这样就行拉

</SCRIPT>

既然引用了COM组件,就可以直接使用了,无需用CreateObject创建。

Dim ScriptControl As New MSScriptControl.ScriptControl

ScriptControl.Language = "JavaScript" '设置语言种类

ScriptControl.AddCode("function TestFunc(){return 'Hello world!'}") '添加脚本代码

MsgBox(ScriptControl.Run("TestFunc"))'显示一下那段脚本的返回值(这里你将看到Hello world!字符)

javascript不能直接调用ASP.NET的后台函数(你别管什么语言,编译之后都是一样的MSIL)。一般需要通过Ajax实现间接调用

你说的那个只是把这个变量(确切的说应该是表达式)输出到HTTP流中,也就是插入到源代码中相当于把表达式的值硬编码到了JavaScript中

<%=变量%>这种语法,C#和VB.NET都可以用的

不想多说了,用JS调用后台代码很多时候是糟糕的设计造成的。一个是前台代码,一个是后台代码,实际上正常的设计很少在前台调用后台代码。劝你想想其他的解决方式