WebBrowser.InvokeScript Método

Definição

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

Sobrecargas

Nome Description
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 carregado no momento.

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 WebBrowser instância não é mais válida.

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

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 de 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 seguinte mostra a implementação 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 carregado no momento.

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 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 WebBrowser instância não é mais válida.

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

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 de 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 seguinte mostra a implementação 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 excedentes serão ignorados.

Aplica-se a