Udostępnij za pośrednictwem


WebBrowser.InvokeScript Metoda

Definicja

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.

Dotyczy