WebBrowser.InvokeScript Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa uma função de script definida no documento carregado atualmente.
Sobrecargas
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 atualmente carregado. |
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 instância WebBrowser não é mais válida.
Não foi possível recuperar uma referência ao nativo subjacente WebBrowser
.
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 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>
A seguir, 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);
}
}
}
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 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);
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
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 instância WebBrowser não é mais válida.
Não foi possível recuperar uma referência ao nativo subjacente WebBrowser
.
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 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>
A seguir, 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);
}
}
}
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 em excesso serão ignorados.