Bagikan melalui


HtmlDocument.InvokeScript Metode

Definisi

Menjalankan fungsi Skrip Aktif yang ditentukan dalam halaman HTML.

Overload

InvokeScript(String)

Menjalankan fungsi Skrip Aktif yang ditentukan dalam halaman HTML.

InvokeScript(String, Object[])

Menjalankan fungsi Skrip Aktif yang ditentukan dalam halaman HTML.

Contoh

Contoh kode berikut menjalankan konten skrip di halaman Web. Contoh kode mengharuskan Anda memuat halaman Web berikut.

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

Menjalankan fungsi Skrip Aktif yang ditentukan dalam halaman 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

Parameter

scriptName
String

Nama metode skrip yang akan dipanggil.

Mengembalikan

Objek yang dikembalikan oleh panggilan Skrip Aktif.

Contoh

Contoh kode berikut menjalankan konten skrip di halaman Web. Contoh kode mengharuskan Anda memiliki WebBrowser di aplikasi yang disebut WebBrowser1, dan Anda telah memuat halaman Web berikut.

<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

Keterangan

Jenis objek yang mendasar yang dikembalikan oleh InvokeScript akan bervariasi. Jika fungsi Active Scripting yang disebut mengembalikan data skalar, seperti string atau bilangan bulat, fungsi tersebut akan dikembalikan sebagai string. Jika mengembalikan objek berbasis skrip, seperti objek yang dibuat menggunakan operator JScript atau VBScript new , itu akan berjenis Object. (Anda dapat melakukan panggilan pada objek tersebut dengan memanggil GetType dan menggunakan InvokeMember.) Jika mengembalikan elemen HTML DOM, seperti DIV atau TABLE, itu akan berjenis Object; jika Anda telah menambahkan referensi proyek ke MSHTML.DLL, namun, itu akan ditransmisikan ke jenis DOM spesifik yang tidak dikelola.

Anda dapat memanggil fungsi apa pun yang ditulis dalam bahasa Skrip Aktif apa pun yang diinstal di komputer pengguna, termasuk JScript dan VBScript.

InvokeScript tidak akan melakukan apa pun jika pengguna telah secara eksplisit menonaktifkan eksekusi skrip di Internet Explorer, atau jika konfigurasi keamanan saat ini untuk halaman Web tidak memperbolehkannya.

Berlaku untuk

InvokeScript(String, Object[])

Menjalankan fungsi Skrip Aktif yang ditentukan dalam halaman 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

Parameter

scriptName
String

Nama metode skrip yang akan dipanggil.

args
Object[]

Argumen yang akan diteruskan ke metode skrip.

Mengembalikan

Objek yang dikembalikan oleh panggilan Skrip Aktif.

Contoh

Contoh kode berikut menjalankan konten skrip di halaman Web. Contoh kode mengharuskan Anda memiliki WebBrowser di aplikasi yang disebut WebBrowser1, dan Anda telah memuat halaman Web berikut.

<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

Keterangan

Jenis objek yang mendasar yang dikembalikan oleh InvokeScript akan bervariasi. Jika fungsi Active Scripting yang disebut mengembalikan data skalar, seperti string atau bilangan bulat, fungsi tersebut akan dikembalikan sebagai string. Jika mengembalikan objek berbasis skrip, seperti objek yang dibuat menggunakan operator JScript atau VBScript new , itu akan berjenis Object. (Anda dapat melakukan panggilan pada objek tersebut dengan memanggil GetType dan menggunakan InvokeMember.) Jika mengembalikan elemen HTML DOM, seperti DIV atau TABLE, itu akan berjenis Object; jika Anda telah menambahkan referensi proyek ke MSHTML.DLL, namun, itu akan ditransmisikan ke jenis DOM spesifik yang tidak dikelola.

Anda dapat memanggil fungsi apa pun yang ditulis dalam bahasa Skrip Aktif apa pun yang diinstal pada komputer pengguna, termasuk JScript dan VBScript.

Metode ini tidak akan melakukan apa pun jika pengguna telah secara eksplisit menonaktifkan eksekusi skrip di Internet Explorer, atau jika konfigurasi keamanan saat ini untuk halaman Web tidak memperbolehkannya.

Berlaku untuk