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

Имя вызываемого метода скрипта.

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

Object

Объект, возвращаемый в результате вызова 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[]

Аргументы для передачи в метод скрипта.

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

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 или если текущая конфигурация безопасности для веб-страницы не разрешает его.

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