Поделиться через


WebBrowser.InvokeScript Метод

Определение

Выполняет функцию скрипта, которая определена в текущем загруженном документе.

Перегрузки

InvokeScript(String)

Выполняет функцию скрипта, которая реализуется текущим загруженным документом.

InvokeScript(String, Object[])

Выполняет функцию скрипта, которая определена в текущем загруженном документе.

InvokeScript(String)

Выполняет функцию скрипта, которая реализуется текущим загруженным документом.

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

Параметры

scriptName
String

Имя выполняемой функции скрипта.

Возвращаемое значение

Объект, возвращаемый в результате вызова Active Scripting.

Исключения

Экземпляр WebBrowser стал недействительным.

Не удалось извлечь ссылку на собственный WebBrowser .

Функция скрипта не существует.

Примеры

В следующем примере показано, как вызвать функцию скрипта в документе из приложения WPF с помощью InvokeScript(String). В этом примере функция скрипта не имеет параметров.

Ниже приведен HTML-документ, реализующий функцию скрипта, которая будет вызываться из 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>  

Ниже показана реализация WPF для вызова функции скрипта в 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);  
    }  
  }  
}  

Комментарии

InvokeScript(String) Не следует вызывать до завершения загрузки документа, который его реализует. Вы можете определить, когда документ завершил загрузку, обрабатывая LoadCompleted событие .

Применяется к

InvokeScript(String, Object[])

Выполняет функцию скрипта, которая определена в текущем загруженном документе.

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

Параметры

scriptName
String

Имя выполняемой функции скрипта.

args
Object[]

Параметры для передачи в функцию скрипта.

Возвращаемое значение

Объект, возвращаемый в результате вызова Active Scripting.

Атрибуты

Исключения

Экземпляр WebBrowser стал недействительным.

Не удалось извлечь ссылку на собственный WebBrowser .

Функция скрипта не существует.

Примеры

В следующем примере показано, как вызывать функции скриптов в документе из приложения с помощью InvokeScript(String, Object[]). В этом примере функции скрипта требуют параметров.

Ниже приведен документ, реализующий функции скрипта, которые будут вызываться из 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>  

Ниже показана реализация WPF для вызова функций скрипта в 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);  
    }  
  }  
}  

Комментарии

InvokeScript(String, Object[]) Не следует вызывать до завершения загрузки документа, который его реализует. Вы можете определить, когда документ завершил загрузку, обрабатывая LoadCompleted событие .

Если вы не передадите достаточно значений параметров в вызываемый скрипт, параметры, которым не передаются значения, будут иметь неопределенное значение. Если передать слишком много значений параметров, избыточные значения игнорируются.

Применяется к