Comparteix a través de


WebBrowser.InvokeScript Método

Definición

Ejecuta una función de scripting definida en el documento cargado actualmente.

Sobrecargas

InvokeScript(String)

Ejecuta una función de script que el documento cargado actualmente implementa.

InvokeScript(String, Object[])

Ejecuta una función de script que se define en el documento cargado actualmente.

InvokeScript(String)

Ejecuta una función de script que el documento cargado actualmente implementa.

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

Nombre de la función de script que se va a ejecutar.

Devoluciones

El objeto devuelto por la llamada Active Scripting.

Excepciones

La instancia WebBrowser del extensor ya no es válida.

No se ha podido recuperar una referencia al valor de WebBrowser nativo subyacente.

La función de script no existe.

Ejemplos

En el ejemplo siguiente se muestra cómo llamar a una función de script en un documento desde una aplicación WPF mediante InvokeScript(String). En este ejemplo, la función de script no tiene parámetros.

A continuación se muestra el documento HTML que implementa la función de script a la que se llamará desde 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 continuación se muestra la implementación de WPF para llamar a la función de script en el 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);  
    }  
  }  
}  

Comentarios

InvokeScript(String) no debe llamarse antes de que el documento que lo implemente haya terminado de cargarse. Puede detectar cuándo un documento ha terminado de cargarse controlando el LoadCompleted evento.

Se aplica a

InvokeScript(String, Object[])

Ejecuta una función de script que se define en el documento cargado actualmente.

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

Nombre de la función de script que se va a ejecutar.

args
Object[]

Parámetros que se van a pasar a la función de script.

Devoluciones

El objeto devuelto por la llamada Active Scripting.

Atributos

Excepciones

La instancia WebBrowser del extensor ya no es válida.

No se ha podido recuperar una referencia al valor de WebBrowser nativo subyacente.

La función de script no existe.

Ejemplos

En el ejemplo siguiente se muestra cómo llamar a funciones de script en un documento desde una aplicación mediante InvokeScript(String, Object[]). En este ejemplo, las funciones de script requieren parámetros.

A continuación se muestra el documento que implementa las funciones de script a las que se llamará desde 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 continuación se muestra la implementación de WPF para llamar a las funciones de script en el 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);  
    }  
  }  
}  

Comentarios

InvokeScript(String, Object[]) no debe llamarse antes de que el documento que lo implemente haya terminado de cargarse. Puede detectar cuándo un documento ha terminado de cargarse controlando el LoadCompleted evento.

Si no pasa suficientes valores de parámetro al script que está invocando, los parámetros a los que no se pasan valores tendrán el valor indefinido. Si pasa demasiados valores de parámetro, se omiten los valores excesivos.

Se aplica a