HtmlDocument.InvokeScript Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wykonuje funkcję Active Scripting zdefiniowaną na stronie HTML.
Przeciążenia
InvokeScript(String) |
Wykonuje funkcję Active Scripting zdefiniowaną na stronie HTML. |
InvokeScript(String, Object[]) |
Wykonuje funkcję Active Scripting zdefiniowaną na stronie HTML. |
Przykłady
Poniższy przykład kodu wykonuje zawartość skryptu na stronie sieci Web. Przykładowy kod wymaga załadowania następującej strony sieci 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)
Wykonuje funkcję Active Scripting zdefiniowaną na stronie 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
Parametry
- scriptName
- String
Nazwa metody skryptu do wywołania.
Zwraca
Obiekt zwrócony przez wywołanie Aktywne skrypty.
Przykłady
Poniższy przykład kodu wykonuje zawartość skryptu na stronie sieci Web. Przykładowy kod wymaga, aby w WebBrowser aplikacji o nazwie WebBrowser1
i załadowano następującą stronę sieci 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
Uwagi
Podstawowy typ obiektu zwróconego przez InvokeScript będzie się różnić. Jeśli wywołana funkcja Active Scripting zwraca dane skalarne, takie jak ciąg lub liczba całkowita, zostanie zwrócona jako ciąg. Jeśli zwraca obiekt oparty na skrypcie, taki jak obiekt utworzony przy użyciu operatora JScript lub VBScript new
, będzie to typ Object
. (Wywołania takich obiektów można wykonywać, wywołując GetType i używając metody InvokeMember.) Jeśli zwraca element DOM HTML, taki jak lub DIV
TABLE
, będzie to typ Object
; jeśli dodano odwołanie do projektu do MSHTML.DLL, zostanie ono jednak rzutowane na określony niezarządzany typ DOM.
Możesz wywołać dowolną funkcję napisaną w dowolnym języku Active Scripting zainstalowanym na komputerze użytkownika, w tym JScript i VBScript.
Polecenie InvokeScript nie zrobi nic, jeśli użytkownik jawnie wyłączył wykonywanie skryptu w programie Internet Explorer lub jeśli bieżąca konfiguracja zabezpieczeń strony sieci Web nie zezwala na to.
Dotyczy
InvokeScript(String, Object[])
Wykonuje funkcję Active Scripting zdefiniowaną na stronie 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
Parametry
- scriptName
- String
Nazwa metody skryptu do wywołania.
- args
- Object[]
Argumenty, które mają być przekazywane do metody skryptu.
Zwraca
Obiekt zwrócony przez wywołanie Aktywne skrypty.
Przykłady
Poniższy przykład kodu wykonuje zawartość skryptu na stronie sieci Web. Przykładowy kod wymaga, aby w WebBrowser aplikacji o nazwie WebBrowser1
i załadowano następującą stronę sieci 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
Uwagi
Podstawowy typ obiektu zwróconego przez InvokeScript będzie się różnić. Jeśli wywołana funkcja Active Scripting zwraca dane skalarne, takie jak ciąg lub liczba całkowita, zostanie zwrócona jako ciąg. Jeśli zwraca obiekt oparty na skrypcie, taki jak obiekt utworzony przy użyciu operatora JScript lub VBScript new
, będzie to typ Object
. (Wywołania takich obiektów można wykonywać, wywołując GetType i używając metody InvokeMember.) Jeśli zwraca element DOM HTML, taki jak lub DIV
TABLE
, będzie to typ Object
; jeśli dodano odwołanie do projektu do MSHTML.DLL, zostanie ono jednak rzutowane na określony niezarządzany typ DOM.
Możesz wywołać dowolną funkcję napisaną w dowolnym języku Active Scripting zainstalowanym na maszynie użytkownika, w tym JScript i VBScript.
Ta metoda nie zrobi nic, jeśli użytkownik jawnie wyłączył wykonywanie skryptu w programie Internet Explorer lub jeśli bieżąca konfiguracja zabezpieczeń strony sieci Web nie zezwala na to.