HtmlDocument.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 ativo definida em uma página HTML.
Sobrecargas
InvokeScript(String) |
Executa uma função de script ativo definida em uma página HTML. |
InvokeScript(String, Object[]) |
Executa uma função de script ativo definida em uma página HTML. |
Exemplos
O exemplo de código a seguir executa o conteúdo de um script em uma página da Web. O exemplo de código requer que você tenha carregado a página da Web a seguir.
<HTML>
<SCRIPT>
function test(name, address) {
window.alert("Name is " + name + "; address is " + address);
}
</SCRIPT>
<BODY>
</BODY>
</HTML>
private void InvokeTestMethod(String name, String address)
{
if (webBrowser1.Document != null)
{
Object[] objArray = new Object[2];
objArray[0] = (Object)name;
objArray[1] = (Object)address;
webBrowser1.Document.InvokeScript("test", objArray);
}
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
If (Not (WebBrowser1.Document Is Nothing)) Then
Dim ObjArr(2) As Object
ObjArr(0) = CObj(New String(Name))
ObjArr(1) = CObj(New String(Address))
WebBrowser1.Document.InvokeScript("test", ObjArr)
End If
End Sub
InvokeScript(String)
Executa uma função de script ativo definida em uma página HTML.
public:
System::Object ^ InvokeScript(System::String ^ scriptName);
public object InvokeScript (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 do método de script que será invocado.
Retornos
O objeto retornado pela chamada de Script Ativo.
Exemplos
O exemplo de código a seguir executa o conteúdo de um script em uma página da Web. O exemplo de código requer que você tenha um WebBrowser em seu aplicativo chamado WebBrowser1
e que você carregou a página da Web a seguir.
<HTML>
<HEAD>
<TITLE>Invoke Script Sample</TITLE>
<SCRIPT>
function MyObject() {
this.Data = "Data for my private object.";
}
// Return a string.
function test() {
return("This is a test.");
}
// Return a JScript object.
function testJScriptObject() {
return(new(MyObject));
}
// Return a DOM element.
function testElement() {
return(div1);
}
</SCRIPT>
</HEAD>
<BODY>
<DIV id="div1">
</DIV>
</BODY>
</HTML>
private void InvokeScript()
{
if (webBrowser1.Document != null)
{
HtmlDocument doc = webBrowser1.Document;
String str = doc.InvokeScript("test").ToString() ;
Object jscriptObj = doc.InvokeScript("testJScriptObject");
Object domOb = doc.InvokeScript("testElement");
}
}
Private Sub InvokeScript()
If (WebBrowser1.Document IsNot Nothing) Then
With WebBrowser1.Document
Dim Str As String = .InvokeScript("test")
Dim JScriptObj As Object = .InvokeScript("testJScriptObject")
Dim DomObj As Object = .InvokeScript("testElement")
End With
End If
End Sub
Comentários
O tipo subjacente do objeto retornado por InvokeScript variará. Se a função de Script Ativo chamada retornar dados escalares, como uma cadeia de caracteres ou um inteiro, ela será retornada como uma cadeia de caracteres. Se ele retornar um objeto baseado em script, como um objeto criado usando JScript ou operador do new
VBScript, ele será do tipo Object
. (Você pode fazer chamadas nesses objetos chamando GetType e usando InvokeMember.) Se ele retornar um elemento HTML DOM, como um DIV
ou um TABLE
, ele será do tipo Object
; se você tiver adicionado uma referência de projeto a MSHTML.DLL, no entanto, ele será convertido em seu tipo DOM não gerenciado específico.
Você pode chamar qualquer função escrita em qualquer linguagem de Script Ativo instalada no computador do usuário, incluindo JScript e VBScript.
O InvokeScript não fará nada se o usuário tiver desativado explicitamente a execução de script no Internet Explorer ou se a configuração de segurança atual da página da Web não permitir.
Aplica-se a
InvokeScript(String, Object[])
Executa uma função de script ativo definida em uma página HTML.
public:
System::Object ^ InvokeScript(System::String ^ scriptName, cli::array <System::Object ^> ^ args);
public object InvokeScript (string scriptName, object[] args);
public object? InvokeScript (string scriptName, object[]? args);
member this.InvokeScript : string * obj[] -> obj
Public Function InvokeScript (scriptName As String, args As Object()) As Object
Parâmetros
- scriptName
- String
O nome do método de script que será invocado.
- args
- Object[]
Os argumentos a serem passados para o método de script.
Retornos
O objeto retornado pela chamada de Script Ativo.
Exemplos
O exemplo de código a seguir executa o conteúdo de um script em uma página da Web. O exemplo de código requer que você tenha um WebBrowser em seu aplicativo chamado WebBrowser1
e que você carregou a página da Web a seguir.
<HTML>
<SCRIPT>
function test(name, address) {
window.alert("Name is " + name + "; address is " + address);
}
</SCRIPT>
<BODY>
</BODY>
</HTML>
private void InvokeTestMethod(String name, String address)
{
if (webBrowser1.Document != null)
{
Object[] objArray = new Object[2];
objArray[0] = (Object)name;
objArray[1] = (Object)address;
webBrowser1.Document.InvokeScript("test", objArray);
}
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
If (Not (WebBrowser1.Document Is Nothing)) Then
Dim ObjArr(2) As Object
ObjArr(0) = CObj(New String(Name))
ObjArr(1) = CObj(New String(Address))
WebBrowser1.Document.InvokeScript("test", ObjArr)
End If
End Sub
Comentários
O tipo subjacente do objeto retornado por InvokeScript variará. Se a função de Script Ativo chamada retornar dados escalares, como uma cadeia de caracteres ou um inteiro, ela será retornada como uma cadeia de caracteres. Se ele retornar um objeto baseado em script, como um objeto criado usando JScript ou operador do new
VBScript, ele será do tipo Object
. (Você pode fazer chamadas nesses objetos chamando GetType e usando InvokeMember.) Se ele retornar um elemento HTML DOM, como um DIV
ou um TABLE
, ele será do tipo Object
; se você tiver adicionado uma referência de projeto a MSHTML.DLL, no entanto, ele será convertido em seu tipo DOM não gerenciado específico.
Você pode chamar qualquer função escrita em qualquer linguagem de Script Ativo instalada no computador do usuário, incluindo JScript e VBScript.
Esse método não fará nada se o usuário tiver desativado explicitamente a execução de script no Internet Explorer ou se a configuração de segurança atual da página da Web não permitir.