Compartir vía


HtmlDocument.InvokeScript Método

Definición

Ejecuta una función de Active Scripting definida en una página HTML.

Sobrecargas

InvokeScript(String)

Ejecuta una función de Active Scripting definida en una página HTML.

InvokeScript(String, Object[])

Ejecuta una función de Active Scripting definida en una página HTML.

Ejemplos

En el ejemplo de código siguiente se ejecuta el contenido de un script en una página web. El ejemplo de código requiere que haya cargado la siguiente página web.

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

Ejecuta una función de Active Scripting definida en una página HTML.

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

Parámetros

scriptName
String

Nombre del método de script que se va a invocar.

Devoluciones

El objeto devuelto por la llamada Active Scripting.

Ejemplos

En el ejemplo de código siguiente se ejecuta el contenido de un script en una página web. El ejemplo de código requiere que tenga un WebBrowser elemento en la aplicación denominado WebBrowser1y que haya cargado la siguiente página web.

<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

Comentarios

El tipo subyacente del objeto devuelto por InvokeScript variará. Si la función Active Scripting devuelve datos escalares, como una cadena o un entero, se devolverá como una cadena. Si devuelve un objeto basado en scripts, como un objeto creado mediante JScript o el operador de new VBScript, será de tipo Object. (Puede realizar llamadas en estos objetos mediante una llamada a GetType y mediante InvokeMember). Si devuelve un elemento DOM HTML, como o DIV , TABLEserá de tipo Object; si ha agregado una referencia de proyecto a MSHTML.DLL, sin embargo, se convertirá a su tipo DOM no administrado específico.

Puede llamar a cualquier función escrita en cualquier lenguaje de scripting activo instalado en el equipo del usuario, incluido JScript y VBScript.

No InvokeScript hará nada si el usuario ha desactivado explícitamente la ejecución de scripts en Internet Explorer o si la configuración de seguridad actual de la página web no lo permite.

Se aplica a

InvokeScript(String, Object[])

Ejecuta una función de Active Scripting definida en una página HTML.

public:
 System::Object ^ InvokeScript(System::String ^ scriptName, cli::array <System::Object ^> ^ args);
public object InvokeScript (string scriptName, 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

Parámetros

scriptName
String

Nombre del método de script que se va a invocar.

args
Object[]

Argumentos que se van a pasar al método de script.

Devoluciones

El objeto devuelto por la llamada Active Scripting.

Ejemplos

En el ejemplo de código siguiente se ejecuta el contenido de un script en una página web. El ejemplo de código requiere que tenga un WebBrowser elemento en la aplicación denominado WebBrowser1y que haya cargado la siguiente página web.

<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

Comentarios

El tipo subyacente del objeto devuelto por InvokeScript variará. Si la función Active Scripting devuelve datos escalares, como una cadena o un entero, se devolverá como una cadena. Si devuelve un objeto basado en scripts, como un objeto creado mediante JScript o el operador de new VBScript, será de tipo Object. (Puede realizar llamadas en estos objetos mediante una llamada a GetType y mediante InvokeMember). Si devuelve un elemento DOM HTML, como o DIV , TABLEserá de tipo Object; si ha agregado una referencia de proyecto a MSHTML.DLL, sin embargo, se convertirá a su tipo DOM no administrado específico.

Puede llamar a cualquier función escrita en cualquier lenguaje de scripting activo instalado en el equipo del usuario, incluido JScript y VBScript.

Este método no hará nada si el usuario ha desactivado explícitamente la ejecución de scripts en Internet Explorer o si la configuración de seguridad actual de la página web no lo permite.

Se aplica a