Sdílet prostřednictvím


HtmlDocument.InvokeScript Metoda

Definice

Spustí funkci aktivního skriptování definovanou na stránce HTML.

Přetížení

InvokeScript(String)

Spustí funkci aktivního skriptování definovanou na stránce HTML.

InvokeScript(String, Object[])

Spustí funkci aktivního skriptování definovanou na stránce HTML.

Příklady

Následující příklad kódu spustí obsah skriptu na webové stránce. Příklad kódu vyžaduje, abyste načetli následující webovou stránku.

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

Spustí funkci aktivního skriptování definovanou na stránce 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

Název metody skriptu, která se má vyvolat.

Návraty

Objekt vrácený voláním Aktivní skriptování.

Příklady

Následující příklad kódu spustí obsah skriptu na webové stránce. Příklad kódu vyžaduje, abyste v aplikaci měli WebBrowser soubor s názvem WebBrowser1a že jste načetli následující webovou stránku.

<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

Poznámky

Základní typ objektu vráceného objektem InvokeScript se bude lišit. Pokud funkce Active Scripting vrátí skalární data, například řetězec nebo celé číslo, vrátí se jako řetězec. Pokud vrátí objekt založený na skriptech, například objekt vytvořený pomocí operátoru jazyka new JScript nebo VBScript, bude typu Object. (Tyto objekty můžete volat voláním GetType a použitím InvokeMember.) Pokud vrátí element HTML DOM, například DIV nebo TABLE, bude typu Object; pokud jste přidali odkaz na projekt do MSHTML.DLL, bude přetypován na jeho konkrétní nespravovaný typ DOM.

Můžete volat jakoukoli funkci napsanou v libovolném aktivním skriptovacím jazyce nainstalovaném na počítači uživatele, včetně jazyka JScript a VBScript.

Pokud InvokeScript uživatel výslovně vypnul spouštění skriptů v aplikaci Internet Explorer nebo pokud aktuální konfigurace zabezpečení pro webovou stránku nepovoluje, nic neudělá.

Platí pro

InvokeScript(String, Object[])

Spustí funkci aktivního skriptování definovanou na stránce 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

Název metody skriptu, která se má vyvolat.

args
Object[]

Argumenty, které se mají předat metodě skriptu.

Návraty

Objekt vrácený voláním Aktivní skriptování.

Příklady

Následující příklad kódu spustí obsah skriptu na webové stránce. Příklad kódu vyžaduje, abyste v aplikaci měli WebBrowser soubor s názvem WebBrowser1a že jste načetli následující webovou stránku.

<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

Poznámky

Základní typ objektu vráceného objektem InvokeScript se bude lišit. Pokud funkce Active Scripting vrátí skalární data, například řetězec nebo celé číslo, vrátí se jako řetězec. Pokud vrátí objekt založený na skriptech, například objekt vytvořený pomocí operátoru jazyka new JScript nebo VBScript, bude typu Object. (Tyto objekty můžete volat voláním GetType a použitím InvokeMember.) Pokud vrátí element HTML DOM, například DIV nebo TABLE, bude typu Object; pokud jste přidali odkaz na projekt do MSHTML.DLL, bude přetypován na jeho konkrétní nespravovaný typ DOM.

Můžete volat libovolnou funkci napsanou v jakémkoli aktivním skriptovacím jazyce nainstalovaném na počítači uživatele, včetně JScriptu a VBScriptu.

Tato metoda neprovede nic, pokud uživatel výslovně vypnul spouštění skriptů v aplikaci Internet Explorer nebo pokud aktuální konfigurace zabezpečení webové stránky neumožňuje.

Platí pro