HtmlDocument.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 Active Scripting definida en una página HTML.
Sobrecargas
InvokeScript(String) |
Ejecuta una función de Active Scripting definida en una página HTML. |
InvokeScript(String, Object[]) |
Ejecuta una función de Active Scripting definida en una página HTML. |
Ejemplos
En el ejemplo de código siguiente se ejecuta el contenido de un script en una página web. El ejemplo de código requiere que haya cargado la siguiente página web.
<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)
Ejecuta una función de Active Scripting definida en una 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
Nombre del método de script que se va a invocar.
Devoluciones
El objeto devuelto por la llamada Active Scripting.
Ejemplos
En el ejemplo de código siguiente se ejecuta el contenido de un script en una página web. El ejemplo de código requiere que tenga un WebBrowser elemento en la aplicación denominado WebBrowser1
y que haya cargado la siguiente página web.
<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
Comentarios
El tipo subyacente del objeto devuelto por InvokeScript variará. Si la función Active Scripting devuelve datos escalares, como una cadena o un entero, se devolverá como una cadena. Si devuelve un objeto basado en scripts, como un objeto creado mediante JScript o el operador de new
VBScript, será de tipo Object
. (Puede realizar llamadas en estos objetos mediante una llamada a GetType y mediante InvokeMember). Si devuelve un elemento DOM HTML, como o DIV
, TABLE
será de tipo Object
; si ha agregado una referencia de proyecto a MSHTML.DLL, sin embargo, se convertirá a su tipo DOM no administrado específico.
Puede llamar a cualquier función escrita en cualquier lenguaje de scripting activo instalado en el equipo del usuario, incluido JScript y VBScript.
No InvokeScript hará nada si el usuario ha desactivado explícitamente la ejecución de scripts en Internet Explorer o si la configuración de seguridad actual de la página web no lo permite.
Se aplica a
InvokeScript(String, Object[])
Ejecuta una función de Active Scripting definida en una 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
Nombre del método de script que se va a invocar.
- args
- Object[]
Argumentos que se van a pasar al método de script.
Devoluciones
El objeto devuelto por la llamada Active Scripting.
Ejemplos
En el ejemplo de código siguiente se ejecuta el contenido de un script en una página web. El ejemplo de código requiere que tenga un WebBrowser elemento en la aplicación denominado WebBrowser1
y que haya cargado la siguiente página web.
<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
Comentarios
El tipo subyacente del objeto devuelto por InvokeScript variará. Si la función Active Scripting devuelve datos escalares, como una cadena o un entero, se devolverá como una cadena. Si devuelve un objeto basado en scripts, como un objeto creado mediante JScript o el operador de new
VBScript, será de tipo Object
. (Puede realizar llamadas en estos objetos mediante una llamada a GetType y mediante InvokeMember). Si devuelve un elemento DOM HTML, como o DIV
, TABLE
será de tipo Object
; si ha agregado una referencia de proyecto a MSHTML.DLL, sin embargo, se convertirá a su tipo DOM no administrado específico.
Puede llamar a cualquier función escrita en cualquier lenguaje de scripting activo instalado en el equipo del usuario, incluido JScript y VBScript.
Este método no hará nada si el usuario ha desactivado explícitamente la ejecución de scripts en Internet Explorer o si la configuración de seguridad actual de la página web no lo permite.