HtmlDocument.InvokeScript 方法

定义

执行在 HTML 页面中定义的活动脚本函数。

重载

InvokeScript(String)

执行在 HTML 页面中定义的活动脚本函数。

InvokeScript(String, Object[])

执行在 HTML 页面中定义的活动脚本函数。

示例

下面的代码示例在网页中执行脚本的内容。 代码示例要求已加载以下网页。

<HTML>  
<SCRIPT>  
function test(name, address) {  
window.alert("Name is " + name + "; address is " + address);  
}  
</SCRIPT>  

<BODY>  
</BODY>  
</HTML>  
private void InvokeTestMethod(String name, String address)
{
    if (webBrowser1.Document != null)
    {
        Object[] objArray = new Object[2];
        objArray[0] = (Object)name;
        objArray[1] = (Object)address;
        webBrowser1.Document.InvokeScript("test", objArray);
    }
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
    If (Not (WebBrowser1.Document Is Nothing)) Then
        Dim ObjArr(2) As Object
        ObjArr(0) = CObj(New String(Name))
        ObjArr(1) = CObj(New String(Address))
        WebBrowser1.Document.InvokeScript("test", ObjArr)
    End If
End Sub

InvokeScript(String)

执行在 HTML 页面中定义的活动脚本函数。

public:
 System::Object ^ InvokeScript(System::String ^ scriptName);
public object InvokeScript (string scriptName);
member this.InvokeScript : string -> obj
Public Function InvokeScript (scriptName As String) As Object

参数

scriptName
String

要调用的脚本方法的名称。

返回

Object

活动脚本调用所返回的对象。

示例

下面的代码示例在网页中执行脚本的内容。 代码示例要求你在应用程序中调用WebBrowser1了一个WebBrowser,并且已加载以下网页。

<HTML>  

    <HEAD>  
        <TITLE>Invoke Script Sample</TITLE>  

        <SCRIPT>  
            function MyObject() {  
                this.Data = "Data for my private object.";  
            }  
            // Return a string.  
            function test() {  
                return("This is a test.");  
            }  
            // Return a JScript object.  
            function testJScriptObject() {  
                return(new(MyObject));  
            }  
            // Return a DOM element.  
            function testElement() {  
                return(div1);  
            }  
        </SCRIPT>  
    </HEAD>  

    <BODY>  

        <DIV id="div1">  
        </DIV>  

    </BODY>  

</HTML>  
private void InvokeScript()
{
    if (webBrowser1.Document != null)
    {
        HtmlDocument doc = webBrowser1.Document;
        String str = doc.InvokeScript("test").ToString() ;
        Object jscriptObj = doc.InvokeScript("testJScriptObject");
        Object domOb = doc.InvokeScript("testElement");
    }
}
Private Sub InvokeScript()
    If (WebBrowser1.Document IsNot Nothing) Then
        With WebBrowser1.Document
            Dim Str As String = .InvokeScript("test")
            Dim JScriptObj As Object = .InvokeScript("testJScriptObject")
            Dim DomObj As Object = .InvokeScript("testElement")
        End With
    End If
End Sub

注解

返回 InvokeScript 的对象的基础类型将有所不同。 如果调用的活动脚本函数返回标量数据(如字符串或整数),它将作为字符串返回。 如果返回基于脚本的对象(如使用 JScript 或 VBScript 运算符new创建的对象),则其类型为类型Object。 (可以通过调用 GetType 和使用 InvokeMember.) 调用此类对象;如果返回 HTML DOM 元素(如 a DIV 或 a TABLE)类型; Object如果已向MSHTML.DLL添加了项目引用,则会将其强制转换为其特定的非托管 DOM 类型。

可以调用以用户计算机上安装的任何活动脚本语言编写的任何函数,包括JScript和 VBScript。

InvokeScript如果用户在 Internet Explorer 中显式关闭脚本执行,或者网页的当前安全配置不允许它,则不会执行任何操作。

适用于

InvokeScript(String, Object[])

执行在 HTML 页面中定义的活动脚本函数。

public:
 System::Object ^ InvokeScript(System::String ^ scriptName, cli::array <System::Object ^> ^ args);
public object InvokeScript (string scriptName, object[] args);
member this.InvokeScript : string * obj[] -> obj
Public Function InvokeScript (scriptName As String, args As Object()) As Object

参数

scriptName
String

要调用的脚本方法的名称。

args
Object[]

要传递给脚本方法的自变量。

返回

Object

活动脚本调用所返回的对象。

示例

下面的代码示例在网页中执行脚本的内容。 代码示例要求你在应用程序中调用WebBrowser1了一个WebBrowser,并且已加载以下网页。

<HTML>  
    <SCRIPT>  
        function test(name, address) {  
            window.alert("Name is " + name + "; address is " + address);  
        }  
    </SCRIPT>  

    <BODY>  
    </BODY>  
</HTML>  
private void InvokeTestMethod(String name, String address)
{
    if (webBrowser1.Document != null)
    {
        Object[] objArray = new Object[2];
        objArray[0] = (Object)name;
        objArray[1] = (Object)address;
        webBrowser1.Document.InvokeScript("test", objArray);
    }
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
    If (Not (WebBrowser1.Document Is Nothing)) Then
        Dim ObjArr(2) As Object
        ObjArr(0) = CObj(New String(Name))
        ObjArr(1) = CObj(New String(Address))
        WebBrowser1.Document.InvokeScript("test", ObjArr)
    End If
End Sub

注解

返回 InvokeScript 的对象的基础类型将有所不同。 如果调用的活动脚本函数返回标量数据(如字符串或整数),它将作为字符串返回。 如果返回基于脚本的对象(如使用 JScript 或 VBScript 运算符new创建的对象),则其类型为类型Object。 (可以通过调用 GetType 和使用 InvokeMember.) 调用此类对象;如果返回 HTML DOM 元素(如 a DIV 或 a TABLE)类型; Object如果已向MSHTML.DLL添加了项目引用,则会将其强制转换为其特定的非托管 DOM 类型。

可以调用以用户计算机上安装的任何活动脚本语言编写的任何函数,包括JScript和 VBScript。

如果用户在 Internet Explorer 中显式关闭脚本执行,或者网页的当前安全配置不允许,此方法将不执行任何操作。

适用于