HtmlDocument.InvokeScript Metod

Definition

Kör en active scripting-funktion som definierats på en HTML-sida.

Överlagringar

Name Description
InvokeScript(String)

Kör en active scripting-funktion som definierats på en HTML-sida.

InvokeScript(String, Object[])

Kör en active scripting-funktion som definierats på en HTML-sida.

Exempel

I följande kodexempel körs innehållet i ett skript på en webbsida. Kodexemplet kräver att du har läst in följande webbsida.

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

Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs

Kör en active scripting-funktion som definierats på en HTML-sida.

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

Parametrar

scriptName
String

Namnet på den skriptmetod som ska anropas.

Returer

Objektet som returnerades av Active Scripting-anropet.

Exempel

I följande kodexempel körs innehållet i ett skript på en webbsida. Kodexemplet kräver att du har en WebBrowser i ditt program som heter WebBrowser1, och att du har läst in följande webbsida.

<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

Kommentarer

Den underliggande typen av objekt som returneras av InvokeScript varierar. Om den anropade funktionen Active Scripting returnerar skalära data, till exempel en sträng eller ett heltal, returneras den som en sträng. Om det returnerar ett skriptbaserat objekt, till exempel ett objekt som skapats new med JScript- eller VBScript-operatorn, kommer det att vara av typen Object. (Du kan göra anrop på sådana objekt genom att anropa GetType och använda InvokeMember.) Om det returnerar ett HTML DOM-element, till exempel ett DIV eller ett TABLE, kommer det att vara av typen Object. Om du har lagt till en projektreferens till MSHTML.DLL kommer det dock att omvandlas till dess specifika ohanterade DOM-typ.

Du kan anropa alla funktioner som skrivs på valfritt active scripting-språk som är installerat på användarens dator, inklusive JScript och VBScript.

InvokeScript gör ingenting om användaren uttryckligen har inaktiverat skriptkörning i Internet Explorer, eller om den aktuella säkerhetskonfigurationen för webbsidan inte tillåter det.

Gäller för

InvokeScript(String, Object[])

Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs
Källa:
HtmlDocument.cs

Kör en active scripting-funktion som definierats på en HTML-sida.

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

Parametrar

scriptName
String

Namnet på den skriptmetod som ska anropas.

args
Object[]

Argumenten som ska skickas till skriptmetoden.

Returer

Objektet som returnerades av Active Scripting-anropet.

Exempel

I följande kodexempel körs innehållet i ett skript på en webbsida. Kodexemplet kräver att du har en WebBrowser i ditt program som heter WebBrowser1, och att du har läst in följande webbsida.

<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

Kommentarer

Den underliggande typen av objekt som returneras av InvokeScript varierar. Om den anropade funktionen Active Scripting returnerar skalära data, till exempel en sträng eller ett heltal, returneras den som en sträng. Om det returnerar ett skriptbaserat objekt, till exempel ett objekt som skapats new med JScript- eller VBScript-operatorn, kommer det att vara av typen Object. (Du kan göra anrop på sådana objekt genom att anropa GetType och använda InvokeMember.) Om det returnerar ett HTML DOM-element, till exempel ett DIV eller ett TABLE, kommer det att vara av typen Object. Om du har lagt till en projektreferens till MSHTML.DLL kommer det dock att omvandlas till dess specifika ohanterade DOM-typ.

Du kan anropa alla funktioner som skrivs på valfritt active scripting-språk som är installerat på användarens dator, inklusive JScript och VBScript.

Den här metoden gör ingenting om användaren uttryckligen har inaktiverat skriptkörningen i Internet Explorer, eller om den aktuella säkerhetskonfigurationen för webbsidan inte tillåter det.

Gäller för