HtmlDocument.InvokeScript Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt eine in einer HTML-Seite definierte Active Scripting-Funktion aus.
Überlädt
InvokeScript(String) |
Führt eine in einer HTML-Seite definierte Active Scripting-Funktion aus. |
InvokeScript(String, Object[]) |
Führt eine in einer HTML-Seite definierte Active Scripting-Funktion aus. |
Beispiele
Im folgenden Codebeispiel wird der Inhalt eines Skripts auf einer Webseite ausgeführt. Das Codebeispiel erfordert, dass Sie die folgende Webseite geladen haben.
<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)
Führt eine in einer HTML-Seite definierte Active Scripting-Funktion aus.
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
Parameter
- scriptName
- String
Der Name der aufzurufenden Skriptmethode.
Gibt zurück
Das Objekt, das durch den Active Scripting-Aufruf zurückgegeben wurde.
Beispiele
Im folgenden Codebeispiel wird der Inhalt eines Skripts auf einer Webseite ausgeführt. Das Codebeispiel erfordert, dass Sie eine WebBrowser in Ihrer Anwendung namens WebBrowser1
haben, und dass Sie die folgende Webseite geladen haben.
<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
Hinweise
Der zugrunde liegende Typ des zurückgegebenen InvokeScript Objekts variiert. Wenn die aufgerufene Active Scripting-Funktion Skalardaten zurückgibt, z. B. eine Zeichenfolge oder eine ganze Zahl, wird sie als Zeichenfolge zurückgegeben. Wenn es ein skriptbasiertes Objekt zurückgibt, z. B. ein Objekt, das mit JScript oder VBScript-Operator new
erstellt wurde, wird es vom Typ seinObject
. (Sie können Aufrufe GetType für solche Objekte tätigen, indem Sie diese aufrufen und verwenden InvokeMember.) Wenn es ein HTML-DOM-Element zurückgibt, z DIV
TABLE
. B. ein oder ein , wird es vom Typ Object
sein; wenn Sie einen Projektverweis zu MSHTML.DLL hinzugefügt haben, wird es jedoch in den spezifischen nicht verwalteten DOM-Typ verschoben.
Sie können jede Funktion aufrufen, die in jeder auf dem Computer des Benutzers installierten Active Scripting-Sprache geschrieben wurde, einschließlich JScript und VBScript.
Dies InvokeScript führt nichts aus, wenn der Benutzer die Skriptausführung in Internet Explorer explizit deaktiviert hat, oder wenn die aktuelle Sicherheitskonfiguration für die Webseite es nicht erlaubt.
Gilt für
InvokeScript(String, Object[])
Führt eine in einer HTML-Seite definierte Active Scripting-Funktion aus.
public:
System::Object ^ InvokeScript(System::String ^ scriptName, cli::array <System::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
Parameter
- scriptName
- String
Der Name der aufzurufenden Skriptmethode.
- args
- Object[]
Die der Skriptmethode zu übergebenden Argumente.
Gibt zurück
Das Objekt, das durch den Active Scripting-Aufruf zurückgegeben wurde.
Beispiele
Im folgenden Codebeispiel wird der Inhalt eines Skripts auf einer Webseite ausgeführt. Das Codebeispiel erfordert, dass Sie eine WebBrowser in Ihrer Anwendung namens WebBrowser1
haben, und dass Sie die folgende Webseite geladen haben.
<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
Hinweise
Der zugrunde liegende Typ des zurückgegebenen InvokeScript Objekts variiert. Wenn die aufgerufene Active Scripting-Funktion Skalardaten zurückgibt, z. B. eine Zeichenfolge oder eine ganze Zahl, wird sie als Zeichenfolge zurückgegeben. Wenn es ein skriptbasiertes Objekt zurückgibt, z. B. ein Objekt, das mit JScript oder VBScript-Operator new
erstellt wurde, wird es vom Typ seinObject
. (Sie können Aufrufe GetType für solche Objekte tätigen, indem Sie diese aufrufen und verwenden InvokeMember.) Wenn es ein HTML-DOM-Element zurückgibt, z DIV
TABLE
. B. ein oder ein , wird es vom Typ Object
sein; wenn Sie einen Projektverweis zu MSHTML.DLL hinzugefügt haben, wird es jedoch in den spezifischen nicht verwalteten DOM-Typ verschoben.
Sie können jede Funktion aufrufen, die in jeder auf dem Computer des Benutzers installierten Active Scripting-Sprache geschrieben wurde, einschließlich JScript und VBScript.
Diese Methode führt nichts aus, wenn der Benutzer die Skriptausführung in Internet Explorer explizit deaktiviert hat, oder wenn die aktuelle Sicherheitskonfiguration für die Webseite es nicht erlaubt.