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 событие .
Если вы не передадите достаточно значений параметров в вызываемый скрипт, параметры, которым не передаются значения, будут иметь неопределенное значение. Если передать слишком много значений параметров, избыточные значения игнорируются.