WebBrowser.InvokeScript Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menjalankan fungsi skrip yang ditentukan dalam dokumen yang saat ini dimuat.
Overload
InvokeScript(String) |
Menjalankan fungsi skrip yang diimplementasikan oleh dokumen yang saat ini dimuat. |
InvokeScript(String, Object[]) |
Menjalankan fungsi skrip yang ditentukan dalam dokumen yang saat ini dimuat. |
InvokeScript(String)
Menjalankan fungsi skrip yang diimplementasikan oleh dokumen yang saat ini dimuat.
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
Nama fungsi skrip yang akan dijalankan.
Mengembalikan
Objek yang dikembalikan oleh panggilan Skrip Aktif.
Pengecualian
Instans WebBrowser tidak lagi valid.
Referensi ke native WebBrowser
yang mendasar tidak dapat diambil.
Fungsi skrip tidak ada.
Contoh
Contoh berikut menunjukkan cara memanggil fungsi skrip dalam dokumen dari aplikasi WPF dengan menggunakan InvokeScript(String). Dalam contoh ini, fungsi skrip tidak memiliki parameter.
Berikut ini adalah dokumen HTML yang mengimplementasikan fungsi skrip yang akan dipanggil dari WPF.
<html>
<head>
<script type="text/javascript">
// Function Without Parameters
function JavaScriptFunctionWithoutParameters()
{
outputID.innerHTML = "JavaScript function called!";
}
</script>
</head>
<body>
<div id="outputID" style="color:Red; font-size:16">
Hello from HTML document with script!
</div>
</body>
</html>
Berikut ini menunjukkan implementasi WPF untuk memanggil fungsi skrip dalam dokumen HTML.
private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)
{
// Make sure the HTML document has loaded before attempting to
// invoke script of the document page. You could set loadCompleted
// to true when the LoadCompleted event on the WebBrowser fires.
if (this.loadCompleted)
{
try
{
this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters");
}
catch (Exception ex)
{
string msg = "Could not call script: " +
ex.Message +
"\n\nPlease click the 'Load HTML Document with Script' button to load.";
MessageBox.Show(msg);
}
}
}
Keterangan
InvokeScript(String) tidak boleh dipanggil sebelum dokumen yang mengimplementasikannya telah selesai dimuat. Anda dapat mendeteksi kapan dokumen selesai dimuat dengan menangani LoadCompleted peristiwa.
Berlaku untuk
InvokeScript(String, Object[])
Menjalankan fungsi skrip yang ditentukan dalam dokumen yang saat ini dimuat.
public:
System::Object ^ InvokeScript(System::String ^ scriptName, ... cli::array <System::Object ^> ^ args);
[System.Security.SecurityCritical]
public object InvokeScript (string scriptName, params object[] args);
public object InvokeScript (string scriptName, params object[] args);
[<System.Security.SecurityCritical>]
member this.InvokeScript : string * obj[] -> obj
member this.InvokeScript : string * obj[] -> obj
Public Function InvokeScript (scriptName As String, ParamArray args As Object()) As Object
Parameter
- scriptName
- String
Nama fungsi skrip yang akan dijalankan.
- args
- Object[]
Parameter yang akan diteruskan ke fungsi skrip.
Mengembalikan
Objek yang dikembalikan oleh panggilan Skrip Aktif.
- Atribut
Pengecualian
Instans WebBrowser tidak lagi valid.
Referensi ke native WebBrowser
yang mendasar tidak dapat diambil.
Fungsi skrip tidak ada.
Contoh
Contoh berikut menunjukkan cara memanggil fungsi skrip dalam dokumen dari aplikasi dengan menggunakan InvokeScript(String, Object[]). Dalam contoh ini, fungsi skrip memerlukan parameter.
Berikut ini adalah dokumen yang mengimplementasikan fungsi skrip yang akan dipanggil dari WPF.
<html>
<head>
<script type="text/javascript">
// Function Without Parameters
function JavaScriptFunctionWithoutParameters()
{
outputID.innerHTML = "JavaScript function 'called: " + message + ".";
}
</script>
</head>
<body>
<div id="outputID" style="color:Red; font-size:16">
Hello from HTML document with script!
</div>
</body>
</html>
Berikut ini menunjukkan implementasi WPF untuk memanggil fungsi skrip dalam dokumen HTML.
private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)
{
// Make sure the HTML document has loaded before attempting to
// invoke script of the document page. You could set loadCompleted
// to true when the LoadCompleted event on the WebBrowser fires.
if (this.loadCompleted)
{
try
{
this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters", this.messageTextBox.Text);
}
catch (Exception ex)
{
string msg = "Could not call script: " +
ex.Message +
"\n\nPlease click the 'Load HTML Document with Script' button to load.";
MessageBox.Show(msg);
}
}
}
Keterangan
InvokeScript(String, Object[]) tidak boleh dipanggil sebelum dokumen yang mengimplementasikannya telah selesai dimuat. Anda dapat mendeteksi kapan dokumen selesai dimuat dengan menangani LoadCompleted peristiwa.
Jika Anda tidak meneruskan nilai parameter yang cukup ke skrip yang Anda panggil, parameter yang tidak Anda berikan nilainya akan memiliki nilai yang tidak terdefinisi. Jika Anda meneruskan terlalu banyak nilai parameter, nilai berlebih diabaikan.