Compartilhar via


WebBrowser.InvokeScript Método

Definição

Executa uma função de script definida no documento carregado atualmente.

Sobrecargas

InvokeScript(String)

Executa uma função de script implementada pelo documento carregado no momento.

InvokeScript(String, Object[])

Executa uma função de script definida no documento atualmente carregado.

InvokeScript(String)

Executa uma função de script implementada pelo documento carregado no momento.

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

Parâmetros

scriptName
String

O nome da função de script a ser executada.

Retornos

O objeto retornado pela chamada de Script Ativo.

Exceções

A instância WebBrowser não é mais válida.

Não foi possível recuperar uma referência ao nativo subjacente WebBrowser.

A função de script não existe.

Exemplos

O exemplo a seguir mostra como chamar uma função de script em um documento de um aplicativo WPF usando InvokeScript(String). Neste exemplo, a função de script não tem parâmetros.

Veja a seguir o documento HTML que implementa a função de script que será chamada do WPF.

<html>  
    <head>  
        <script type="text/javascript">  
            // Function Without Parameters  
            function JavaScriptFunctionWithoutParameters()    
            {  
              outputID.innerHTML = "JavaScript function called!";  
            }  
        </script>  
    </head>  
    <body>  
    <div id="outputID" style="color:Red; font-size:16">  
        Hello from HTML document with script!  
    </div>  
    </body>  
</html>  

A seguir, mostra a implementação do WPF para chamar a função de script no documento HTML.

private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)  
{  
  // Make sure the HTML document has loaded before attempting to  
  // invoke script of the document page. You could set loadCompleted  
  // to true when the LoadCompleted event on the WebBrowser fires.  
  if (this.loadCompleted)  
  {  
    try  
    {  
      this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters");  
    }  
    catch (Exception ex)  
    {  
      string msg = "Could not call script: " +  
                   ex.Message +  
                  "\n\nPlease click the 'Load HTML Document with Script' button to load.";  
      MessageBox.Show(msg);  
    }  
  }  
}  

Comentários

InvokeScript(String) não deve ser chamado antes que o documento que o implementa tenha terminado de carregar. Você pode detectar quando um documento terminar de carregar manipulando o LoadCompleted evento.

Aplica-se a

InvokeScript(String, Object[])

Executa uma função de script definida no documento atualmente carregado.

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

Parâmetros

scriptName
String

O nome da função de script a ser executada.

args
Object[]

Os parâmetros a serem passados para a função de script.

Retornos

O objeto retornado pela chamada de Script Ativo.

Atributos

Exceções

A instância WebBrowser não é mais válida.

Não foi possível recuperar uma referência ao nativo subjacente WebBrowser.

A função de script não existe.

Exemplos

O exemplo a seguir mostra como chamar funções de script em um documento de um aplicativo usando InvokeScript(String, Object[]). Neste exemplo, as funções de script exigem parâmetros.

Veja a seguir o documento que implementa as funções de script que serão chamadas do WPF.

<html>  
    <head>  
        <script type="text/javascript">  
            // Function Without Parameters  
            function JavaScriptFunctionWithoutParameters()    
            {  
              outputID.innerHTML = "JavaScript function 'called: " + message + ".";  
            }  
        </script>  
    </head>  
    <body>  
    <div id="outputID" style="color:Red; font-size:16">  
        Hello from HTML document with script!  
    </div>  
    </body>  
</html>  

A seguir, mostra a implementação do WPF para chamar as funções de script no documento HTML.

private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)  
{  
  // Make sure the HTML document has loaded before attempting to  
  // invoke script of the document page. You could set loadCompleted  
  // to true when the LoadCompleted event on the WebBrowser fires.  
  if (this.loadCompleted)  
  {  
    try  
    {  
      this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters", this.messageTextBox.Text);  
    }  
    catch (Exception ex)  
    {  
      string msg = "Could not call script: " +  
                   ex.Message +  
                  "\n\nPlease click the 'Load HTML Document with Script' button to load.";  
      MessageBox.Show(msg);  
    }  
  }  
}  

Comentários

InvokeScript(String, Object[]) não deve ser chamado antes que o documento que o implementa tenha terminado de carregar. Você pode detectar quando um documento terminar de carregar manipulando o LoadCompleted evento.

Se você não passar valores de parâmetro suficientes para o script que está invocando, os parâmetros para os quais você não passa valores terão o valor indefinido. Se você passar muitos valores de parâmetro, os valores em excesso serão ignorados.

Aplica-se a