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