WebBrowser.InvokeScript Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.