HtmlDocument.InvokeScript Methode

Definition

Führt eine in einer HTML-Seite definierte Active Scripting-Funktion aus.

Überlädt

Name Beschreibung
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)

Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs

Führt eine in einer HTML-Seite definierte Active Scripting-Funktion aus.

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

Parameter

scriptName
String

Der Name der skriptmethode, die aufgerufen werden soll.

Gibt zurück

Das vom Active Scripting-Aufruf zurückgegebene Objekt.

Beispiele

Im folgenden Codebeispiel wird der Inhalt eines Skripts auf einer Webseite ausgeführt. Das Codebeispiel erfordert, dass Sie eine WebBrowser in Ihrer Anwendung mit dem Namen WebBrowser1haben und 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 skalare Daten 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 VBScripts new Operator erstellt wurde, ist es vom Typ Object. (Sie können Aufrufe für solche Objekte tätigen, indem Sie diese aufrufen GetType und verwenden InvokeMember.) Wenn es ein HTML-DOM-Element zurückgibt, z. B. ein DIV oder ein TABLE, wird es vom Typ ; Objectwenn Sie einen Projektverweis zu MSHTML.DLL hinzugefügt haben, wird es jedoch in den spezifischen nicht verwalteten DOM-Typ umgerechnet.

Sie können alle auf dem Computer des Benutzers installierten Active Scripting-Sprachen, einschließlich JScript und VBScript, aufrufen.

Der 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 sie nicht zulässt.

Gilt für:

InvokeScript(String, Object[])

Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs
Quelle:
HtmlDocument.cs

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);
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 skriptmethode, die aufgerufen werden soll.

args
Object[]

Die Argumente, die an die Skriptmethode übergeben werden sollen.

Gibt zurück

Das vom Active Scripting-Aufruf zurückgegebene Objekt.

Beispiele

Im folgenden Codebeispiel wird der Inhalt eines Skripts auf einer Webseite ausgeführt. Das Codebeispiel erfordert, dass Sie eine WebBrowser in Ihrer Anwendung mit dem Namen WebBrowser1haben und 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 skalare Daten 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 VBScripts new Operator erstellt wurde, ist es vom Typ Object. (Sie können Aufrufe für solche Objekte tätigen, indem Sie diese aufrufen GetType und verwenden InvokeMember.) Wenn es ein HTML-DOM-Element zurückgibt, z. B. ein DIV oder ein TABLE, wird es vom Typ ; Objectwenn Sie einen Projektverweis zu MSHTML.DLL hinzugefügt haben, wird es jedoch in den spezifischen nicht verwalteten DOM-Typ umgerechnet.

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 sie nicht zulässt.

Gilt für: