WebBrowser.InvokeScript Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.