Freigeben über


HtmlDocument.InvokeScript Methode

Definition

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

Object

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 WebBrowser1haben, 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 Objectsein; 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

Object

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 WebBrowser1haben, 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 Objectsein; 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.

Gilt für