HtmlDocument.InvokeScript Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Executes an Active Scripting function defined in an HTML page.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public object InvokeScript(
	string scriptName


Type: System.String

The name of the script method to invoke.

Return Value

Type: System.Object

The object returned by the Active Scripting call.

The underlying type of the object returned by InvokeScript will vary. If the called Active Scripting function returns scalar data, such as a string or an integer, it will be returned as a string. If it returns a script-based object, such as an object created using JScript or VBScript's new operator, it will be of type Object. (You can make calls on such objects by calling GetType and using InvokeMember.) If it returns an HTML DOM element, such as a DIV or a TABLE, it will be of type Object; if you have added a project reference to MSHTML.DLL, however, it will be cast to its specific unmanaged DOM type.

You may call any function written in any Active Scripting language installed on the user's computer, including JScript and VBScript.

The InvokeScript will do nothing if the user has explicitly turned off script execution in Internet Explorer, or if the current security configuration for the Web page does not allow it.

The following code example executes the contents of a script in a Web page. The code example requires that you have a WebBrowser in your application called WebBrowser1, and that you have loaded the following Web page.


        <TITLE>Invoke Script Sample</TITLE>

            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 a DOM element.
            function testElement() {


        <DIV id="div1">



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");

.NET Framework
Available since 2.0
Return to top