WebBrowser.InvokeScript Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt eine Skriptfunktion aus, die im aktuell geladenen Dokument definiert ist.
Überlädt
| Name | Beschreibung |
|---|---|
| InvokeScript(String) |
Führt eine Skriptfunktion aus, die vom aktuell geladenen Dokument implementiert wird. |
| InvokeScript(String, Object[]) |
Führt eine Skriptfunktion aus, die im aktuell geladenen Dokument definiert ist. |
InvokeScript(String)
Führt eine Skriptfunktion aus, die vom aktuell geladenen Dokument implementiert wird.
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 auszuführenden Skriptfunktion.
Gibt zurück
Das vom Active Scripting-Aufruf zurückgegebene Objekt.
Ausnahmen
Die WebBrowser Instanz ist nicht mehr gültig.
Ein Verweis auf das zugrunde liegende systemeigene System konnte WebBrowser nicht abgerufen werden.
Die Skriptfunktion ist nicht vorhanden.
Beispiele
Das folgende Beispiel zeigt, wie Sie eine Skriptfunktion in einem Dokument aus einer WPF Anwendung mithilfe von InvokeScript(String) aufrufen. In diesem Beispiel weist die Skriptfunktion keine Parameter auf.
Im Folgenden sehen Sie das HTML-Dokument, das die Skriptfunktion implementiert, die aus WPF aufgerufen wird.
<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>
Im Folgenden wird die WPF Implementierung zum Aufrufen der Skriptfunktion im HTML-Dokument gezeigt.
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);
}
}
}
Hinweise
InvokeScript(String) sollte nicht aufgerufen werden, bevor das Dokument, das es implementiert, geladen wurde. Sie können erkennen, wann das Laden eines Dokuments abgeschlossen ist, indem Sie das LoadCompleted Ereignis behandeln.
Gilt für:
InvokeScript(String, Object[])
Führt eine Skriptfunktion aus, die im aktuell geladenen Dokument definiert ist.
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
Der Name der auszuführenden Skriptfunktion.
- args
- Object[]
Die Parameter, die an die Skriptfunktion übergeben werden sollen.
Gibt zurück
Das vom Active Scripting-Aufruf zurückgegebene Objekt.
- Attribute
Ausnahmen
Die WebBrowser Instanz ist nicht mehr gültig.
Ein Verweis auf das zugrunde liegende systemeigene System konnte WebBrowser nicht abgerufen werden.
Die Skriptfunktion ist nicht vorhanden.
Beispiele
Das folgende Beispiel zeigt, wie Skriptfunktionen in einem Dokument mithilfe einer Anwendung aufgerufen werden InvokeScript(String, Object[]). In diesem Beispiel erfordern die Skriptfunktionen Parameter.
Im Folgenden sehen Sie das Dokument, das die Skriptfunktionen implementiert, die von WPF aufgerufen werden.
<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>
Im Folgenden wird die WPF Implementierung zum Aufrufen der Skriptfunktionen im HTML-Dokument gezeigt.
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);
}
}
}
Hinweise
InvokeScript(String, Object[]) sollte nicht aufgerufen werden, bevor das Dokument, das es implementiert, geladen wurde. Sie können erkennen, wann das Laden eines Dokuments abgeschlossen ist, indem Sie das LoadCompleted Ereignis behandeln.
Wenn Sie nicht genügend Parameterwerte an das Skript übergeben, an das Sie aufrufen, weisen die Parameter, an die Sie keine Werte übergeben, den nicht definierten Wert auf. Wenn Sie zu viele Parameterwerte übergeben, werden die überschüssigen Werte ignoriert.