HtmlDocument.InvokeScript Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет функцию Active Scripting, определенную на HTML-странице.
Перегрузки
InvokeScript(String) |
Выполняет функцию Active Scripting, определенную на HTML-странице. |
InvokeScript(String, Object[]) |
Выполняет функцию Active Scripting, определенную на HTML-странице. |
Примеры
В следующем примере кода выполняется содержимое скрипта на веб-странице. В примере кода требуется, чтобы вы загрузили следующую веб-страницу.
<HTML>
<SCRIPT>
function test(name, address) {
window.alert("Name is " + name + "; address is " + address);
}
</SCRIPT>
<BODY>
</BODY>
</HTML>
private void InvokeTestMethod(String name, String address)
{
if (webBrowser1.Document != null)
{
Object[] objArray = new Object[2];
objArray[0] = (Object)name;
objArray[1] = (Object)address;
webBrowser1.Document.InvokeScript("test", objArray);
}
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
If (Not (WebBrowser1.Document Is Nothing)) Then
Dim ObjArr(2) As Object
ObjArr(0) = CObj(New String(Name))
ObjArr(1) = CObj(New String(Address))
WebBrowser1.Document.InvokeScript("test", ObjArr)
End If
End Sub
InvokeScript(String)
Выполняет функцию Active Scripting, определенную на HTML-странице.
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 в вашем приложении был вызван и WebBrowser1
загружена следующая веб-страница.
<HTML>
<HEAD>
<TITLE>Invoke Script Sample</TITLE>
<SCRIPT>
function MyObject() {
this.Data = "Data for my private object.";
}
// Return a string.
function test() {
return("This is a test.");
}
// Return a JScript object.
function testJScriptObject() {
return(new(MyObject));
}
// Return a DOM element.
function testElement() {
return(div1);
}
</SCRIPT>
</HEAD>
<BODY>
<DIV id="div1">
</DIV>
</BODY>
</HTML>
private void InvokeScript()
{
if (webBrowser1.Document != null)
{
HtmlDocument doc = webBrowser1.Document;
String str = doc.InvokeScript("test").ToString() ;
Object jscriptObj = doc.InvokeScript("testJScriptObject");
Object domOb = doc.InvokeScript("testElement");
}
}
Private Sub InvokeScript()
If (WebBrowser1.Document IsNot Nothing) Then
With WebBrowser1.Document
Dim Str As String = .InvokeScript("test")
Dim JScriptObj As Object = .InvokeScript("testJScriptObject")
Dim DomObj As Object = .InvokeScript("testElement")
End With
End If
End Sub
Комментарии
Базовый тип возвращаемого InvokeScript объекта будет отличаться. Если вызываемая функция "Активный скрипт" возвращает скалярные данные, например строку или целое число, она будет возвращена в виде строки. Если он возвращает объект на основе скрипта, например объект, созданный с помощью оператора JScript или VBScriptnew
, он будет иметь типObject
. (Вы можете совершать вызовы к таким объектам, вызывая GetType и используя InvokeMember.) Если он возвращает элемент DOM HTML, например a DIV
или a TABLE
, он будет иметь тип Object
; если вы добавили ссылку на проект в MSHTML.DLL, однако он будет приведен к конкретному неуправляемым типу DOM.
Вы можете вызвать любую функцию, написанную на любом языке активных сценариев, установленном на компьютере пользователя, включая JScript и VBScript.
Ничего InvokeScript не будет делать, если пользователь явно отключил выполнение скрипта в Internet Explorer или если текущая конфигурация безопасности для веб-страницы не разрешает его.
Применяется к
InvokeScript(String, Object[])
Выполняет функцию Active Scripting, определенную на HTML-странице.
public:
System::Object ^ InvokeScript(System::String ^ scriptName, cli::array <System::Object ^> ^ args);
public object InvokeScript (string scriptName, object[] args);
member this.InvokeScript : string * obj[] -> obj
Public Function InvokeScript (scriptName As String, args As Object()) As Object
Параметры
- scriptName
- String
Имя вызываемого метода скрипта.
- args
- Object[]
Аргументы для передачи в метод скрипта.
Возвращаемое значение
Объект, возвращаемый в результате вызова Active Scripting.
Примеры
В следующем примере кода выполняется содержимое скрипта на веб-странице. В примере кода требуется, чтобы WebBrowser в вашем приложении был вызван и WebBrowser1
загружена следующая веб-страница.
<HTML>
<SCRIPT>
function test(name, address) {
window.alert("Name is " + name + "; address is " + address);
}
</SCRIPT>
<BODY>
</BODY>
</HTML>
private void InvokeTestMethod(String name, String address)
{
if (webBrowser1.Document != null)
{
Object[] objArray = new Object[2];
objArray[0] = (Object)name;
objArray[1] = (Object)address;
webBrowser1.Document.InvokeScript("test", objArray);
}
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
If (Not (WebBrowser1.Document Is Nothing)) Then
Dim ObjArr(2) As Object
ObjArr(0) = CObj(New String(Name))
ObjArr(1) = CObj(New String(Address))
WebBrowser1.Document.InvokeScript("test", ObjArr)
End If
End Sub
Комментарии
Базовый тип возвращаемого InvokeScript объекта будет отличаться. Если вызываемая функция "Активный скрипт" возвращает скалярные данные, например строку или целое число, она будет возвращена в виде строки. Если он возвращает объект на основе скрипта, например объект, созданный с помощью оператора JScript или VBScriptnew
, он будет иметь типObject
. (Вы можете совершать вызовы к таким объектам, вызывая GetType и используя InvokeMember.) Если он возвращает элемент DOM HTML, например a DIV
или a TABLE
, он будет иметь тип Object
; если вы добавили ссылку на проект в MSHTML.DLL, однако он будет приведен к конкретному неуправляемым типу DOM.
Вы можете вызвать любую функцию, написанную на любом языке активных сценариев, установленном на компьютере пользователя, включая JScript и VBScript.
Этот метод не будет делать ничего, если пользователь явно отключил выполнение скрипта в Internet Explorer или если текущая конфигурация безопасности для веб-страницы не разрешает его.