WebBrowser.InvokeScript Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wykonuje funkcję skryptów zdefiniowaną w aktualnie załadowanym dokumencie.
Przeciążenia
InvokeScript(String) |
Wykonuje funkcję skryptu zaimplementowaną przez aktualnie załadowany dokument. |
InvokeScript(String, Object[]) |
Wykonuje funkcję skryptu zdefiniowaną w aktualnie załadowanym dokumencie. |
InvokeScript(String)
Wykonuje funkcję skryptu zaimplementowaną przez aktualnie załadowany dokument.
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
Parametry
- scriptName
- String
Nazwa funkcji skryptu do wykonania.
Zwraca
Obiekt zwrócony przez wywołanie Aktywne skrypty.
Wyjątki
Wystąpienie WebBrowser nie jest już prawidłowe.
Nie można pobrać odwołania do bazowego natywnego WebBrowser
.
Funkcja skryptu nie istnieje.
Przykłady
W poniższym przykładzie pokazano, jak wywołać funkcję skryptu w dokumencie z aplikacji WPF przy użyciu polecenia InvokeScript(String). W tym przykładzie funkcja skryptu nie ma parametrów.
Poniżej przedstawiono dokument HTML, który implementuje funkcję skryptu, która zostanie wywołana z platformy 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>
Poniżej przedstawiono implementację WPF w celu wywołania funkcji skryptu w dokumencie 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);
}
}
}
Uwagi
InvokeScript(String) nie powinien być wywoływany przed zakończeniem ładowania dokumentu, który implementuje go. Możesz wykryć, kiedy dokument zakończył ładowanie, obsługując LoadCompleted zdarzenie.
Dotyczy
InvokeScript(String, Object[])
Wykonuje funkcję skryptu zdefiniowaną w aktualnie załadowanym dokumencie.
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
Parametry
- scriptName
- String
Nazwa funkcji skryptu do wykonania.
- args
- Object[]
Parametry, które mają być przekazywane do funkcji skryptu.
Zwraca
Obiekt zwrócony przez wywołanie Aktywne skrypty.
- Atrybuty
Wyjątki
Wystąpienie WebBrowser nie jest już prawidłowe.
Nie można pobrać odwołania do bazowego natywnego WebBrowser
.
Funkcja skryptu nie istnieje.
Przykłady
W poniższym przykładzie pokazano, jak wywołać funkcje skryptu w dokumencie z aplikacji przy użyciu polecenia InvokeScript(String, Object[]). W tym przykładzie funkcje skryptu wymagają parametrów.
Poniżej przedstawiono dokument, który implementuje funkcje skryptu, które będą wywoływane z 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>
Poniżej przedstawiono implementację WPF w celu wywołania funkcji skryptu w dokumencie 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);
}
}
}
Uwagi
InvokeScript(String, Object[]) nie powinien być wywoływany przed zakończeniem ładowania dokumentu, który implementuje go. Możesz wykryć, kiedy dokument zakończył ładowanie, obsługując LoadCompleted zdarzenie.
Jeśli nie przekazujesz wystarczającej ilości wartości parametrów do wywoływanego skryptu, parametry, które nie przekazujesz wartości, będą miały niezdefiniowaną wartość. Jeśli przekażesz zbyt wiele wartości parametrów, nadmiarowe wartości zostaną zignorowane.