Condividi tramite


HtmlDocument.InvokeScript Metodo

Definizione

Esegue una funzione di scripting definita in una pagina HTML.

Overload

InvokeScript(String)

Esegue una funzione di scripting definita in una pagina HTML.

InvokeScript(String, Object[])

Esegue una funzione di scripting definita in una pagina HTML.

Esempio

Nell'esempio di codice seguente viene eseguito il contenuto di uno script in una pagina Web. L'esempio di codice richiede che sia stata caricata la pagina Web seguente.

<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)

Esegue una funzione di scripting definita in una pagina 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

Parametri

scriptName
String

Nome del metodo di script da richiamare.

Restituisce

Object

Oggetto restituito dalla chiamata dello script attivo.

Esempio

Nell'esempio di codice seguente viene eseguito il contenuto di uno script in una pagina Web. L'esempio di codice richiede che nell'applicazione sia presente un WebBrowser oggetto denominato WebBrowser1e che sia stata caricata la pagina Web seguente.

<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

Commenti

Il tipo sottostante dell'oggetto restituito da InvokeScript varierà. Se la funzione di scripting attiva restituisce dati scalari, ad esempio una stringa o un numero intero, verrà restituito come stringa. Se restituisce un oggetto basato su script, ad esempio un oggetto creato usando JScript o l'operatore new VBScript, sarà di tipo Object. È possibile effettuare chiamate su tali oggetti chiamando GetType e usando InvokeMember.) Se restituisce un elemento DOM HTML, ad esempio o DIV TABLE, sarà di tipo Object; se è stato aggiunto un riferimento al progetto a MSHTML.DLL, verrà tuttavia eseguito il cast al tipo DOM non gestito specifico.

È possibile chiamare qualsiasi funzione scritta in qualsiasi linguaggio di scripting attivo installato nel computer dell'utente, inclusi JScript e VBScript.

Non InvokeScript esegue alcuna operazione se l'utente ha disattivato in modo esplicito l'esecuzione di script in Internet Explorer o se la configurazione di sicurezza corrente per la pagina Web non lo consente.

Si applica a

InvokeScript(String, Object[])

Esegue una funzione di scripting definita in una pagina 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

Parametri

scriptName
String

Nome del metodo di script da richiamare.

args
Object[]

Argomenti da passare al metodo di script.

Restituisce

Object

Oggetto restituito dalla chiamata dello script attivo.

Esempio

Nell'esempio di codice seguente viene eseguito il contenuto di uno script in una pagina Web. L'esempio di codice richiede che nell'applicazione sia presente un WebBrowser oggetto denominato WebBrowser1e che sia stata caricata la pagina Web seguente.

<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

Commenti

Il tipo sottostante dell'oggetto restituito da InvokeScript varierà. Se la funzione di scripting attiva restituisce dati scalari, ad esempio una stringa o un numero intero, verrà restituito come stringa. Se restituisce un oggetto basato su script, ad esempio un oggetto creato usando JScript o l'operatore new VBScript, sarà di tipo Object. È possibile effettuare chiamate su tali oggetti chiamando GetType e usando InvokeMember.) Se restituisce un elemento DOM HTML, ad esempio o DIV TABLE, sarà di tipo Object; se è stato aggiunto un riferimento al progetto a MSHTML.DLL, verrà tuttavia eseguito il cast al tipo DOM non gestito specifico.

È possibile chiamare qualsiasi funzione scritta in qualsiasi linguaggio di scripting attivo installato nel computer dell'utente, inclusi JScript e VBScript.

Questo metodo non esegue alcuna operazione se l'utente ha disattivato in modo esplicito l'esecuzione di script in Internet Explorer o se la configurazione di sicurezza corrente per la pagina Web non lo consente.

Si applica a