Partilhar via


HtmlDocument.InvokeScript Método

Definição

Executa uma função de script ativo definida em uma página HTML.

Sobrecargas

InvokeScript(String)

Executa uma função de script ativo definida em uma página HTML.

InvokeScript(String, Object[])

Executa uma função de script ativo definida em uma página HTML.

Exemplos

O exemplo de código a seguir executa o conteúdo de um script em uma página da Web. O exemplo de código requer que você tenha carregado a página da Web a seguir.

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

Executa uma função de script ativo definida em uma 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

O nome do método de script que será invocado.

Retornos

O objeto retornado pela chamada de Script Ativo.

Exemplos

O exemplo de código a seguir executa o conteúdo de um script em uma página da Web. O exemplo de código requer que você tenha um WebBrowser em seu aplicativo chamado WebBrowser1e que você carregou a página da Web a seguir.

<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

Comentários

O tipo subjacente do objeto retornado por InvokeScript variará. Se a função de Script Ativo chamada retornar dados escalares, como uma cadeia de caracteres ou um inteiro, ela será retornada como uma cadeia de caracteres. Se ele retornar um objeto baseado em script, como um objeto criado usando JScript ou operador do new VBScript, ele será do tipo Object. (Você pode fazer chamadas nesses objetos chamando GetType e usando InvokeMember.) Se ele retornar um elemento HTML DOM, como um DIV ou um TABLE, ele será do tipo Object; se você tiver adicionado uma referência de projeto a MSHTML.DLL, no entanto, ele será convertido em seu tipo DOM não gerenciado específico.

Você pode chamar qualquer função escrita em qualquer linguagem de Script Ativo instalada no computador do usuário, incluindo JScript e VBScript.

O InvokeScript não fará nada se o usuário tiver desativado explicitamente a execução de script no Internet Explorer ou se a configuração de segurança atual da página da Web não permitir.

Aplica-se a

InvokeScript(String, Object[])

Executa uma função de script ativo definida em uma 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

O nome do método de script que será invocado.

args
Object[]

Os argumentos a serem passados para o método de script.

Retornos

O objeto retornado pela chamada de Script Ativo.

Exemplos

O exemplo de código a seguir executa o conteúdo de um script em uma página da Web. O exemplo de código requer que você tenha um WebBrowser em seu aplicativo chamado WebBrowser1e que você carregou a página da Web a seguir.

<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

Comentários

O tipo subjacente do objeto retornado por InvokeScript variará. Se a função de Script Ativo chamada retornar dados escalares, como uma cadeia de caracteres ou um inteiro, ela será retornada como uma cadeia de caracteres. Se ele retornar um objeto baseado em script, como um objeto criado usando JScript ou operador do new VBScript, ele será do tipo Object. (Você pode fazer chamadas nesses objetos chamando GetType e usando InvokeMember.) Se ele retornar um elemento HTML DOM, como um DIV ou um TABLE, ele será do tipo Object; se você tiver adicionado uma referência de projeto a MSHTML.DLL, no entanto, ele será convertido em seu tipo DOM não gerenciado específico.

Você pode chamar qualquer função escrita em qualquer linguagem de Script Ativo instalada no computador do usuário, incluindo JScript e VBScript.

Esse método não fará nada se o usuário tiver desativado explicitamente a execução de script no Internet Explorer ou se a configuração de segurança atual da página da Web não permitir.

Aplica-se a