WebBrowser.InvokeScript Método

Definição

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

Sobrecargas

Name Description
InvokeScript(String)

Executa uma função de script que é implementada pelo documento atualmente carregado.

InvokeScript(String, Object[])

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

InvokeScript(String)

Executa uma função de script que é implementada pelo documento atualmente carregado.

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 executar.

Devoluções

O objeto devolvido pela chamada Active Scripting.

Exceções

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

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

A função script não existe.

Exemplos

O exemplo seguinte mostra como chamar uma função de script num documento a partir de uma aplicação WPF usando InvokeScript(String). Neste exemplo, a função script não tem parâmetros.

Segue-se o documento HTML que implementa a função de script que será chamada a partir 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>

O que se segue 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);
    }
  }
}

Observações

InvokeScript(String) não deve ser chamada antes de o documento que a implementa ter terminado de carregar. Pode detetar quando um documento terminou de carregar ao lidar com 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);
[<System.Security.SecurityCritical>]
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 executar.

args
Object[]

Os parâmetros a passar para o script funcionam.

Devoluções

O objeto devolvido pela chamada Active Scripting.

Atributos

Exceções

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

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

A função script não existe.

Exemplos

O exemplo seguinte mostra como chamar funções script num documento a partir de uma aplicação usando InvokeScript(String, Object[]). Neste exemplo, as funções de script requerem parâmetros.

Segue-se o documento que implementa as funções de script que serão chamadas a partir 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>

O que se segue 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);
    }
  }
}

Observações

InvokeScript(String, Object[]) não deve ser chamada antes de o documento que a implementa ter terminado de carregar. Pode detetar quando um documento terminou de carregar ao lidar com o LoadCompleted evento.

Se não passar valores suficientes de parâmetros ao script que está a invocar, os parâmetros a que não passar valores terão o valor indefinido. Se passares demasiados valores de parâmetro, os valores em excesso são ignorados.

Aplica-se a