HtmlDocument.InvokeScript Metódus

Definíció

Egy HTML-lapon definiált Active Scripting függvényt hajt végre.

Túlterhelések

Name Description
InvokeScript(String)

Egy HTML-lapon definiált Active Scripting függvényt hajt végre.

InvokeScript(String, Object[])

Egy HTML-lapon definiált Active Scripting függvényt hajt végre.

Példák

Az alábbi példakód egy szkript tartalmát hajtja végre egy weblapon. A példakód használatához be kell töltenie a következő weblapot.

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

Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs

Egy HTML-lapon definiált Active Scripting függvényt hajt végre.

public:
 System::Object ^ InvokeScript(System::String ^ scriptName);
public object InvokeScript(string scriptName);
public object? InvokeScript(string scriptName);
member this.InvokeScript : string -> obj
Public Function InvokeScript (scriptName As String) As Object

Paraméterek

scriptName
String

A meghívandó szkript metódusának neve.

Válaszok

Az aktív szkriptelési hívás által visszaadott objektum.

Példák

Az alábbi példakód egy szkript tartalmát hajtja végre egy weblapon. A példakód megköveteli, hogy az alkalmazásban legyen egy WebBrowser neve WebBrowser1, és hogy betöltse a következő weblapot.

<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

Megjegyzések

A visszaadott InvokeScript objektum mögöttes típusa eltérő lesz. Ha az úgynevezett Active Scripting függvény skaláris adatokat, például sztringet vagy egész számot ad vissza, a függvény sztringként adja vissza. Ha egy szkriptalapú objektumot ad vissza, például egy JScript vagy VBScript new operátorral létrehozott objektumot, akkor az típusú Objectlesz. (Az ilyen objektumok hívásával GetType és használatával InvokeMemberhívásokat kezdeményezhet.) Ha egy HTML DOM-elemet ad vissza, például egy DIV vagy egy TABLE, akkor az típus Objectlesz; ha hozzáadta a projekthivatkozást MSHTML.DLL, az adott nem felügyelt DOM-típusra lesz vetve.

Bármilyen, a felhasználó számítógépén telepített Active Scripting nyelven írt függvényt meghívhat, beleértve a JScriptet és a VBScriptet is.

A InvokeScript nem tesz semmit, ha a felhasználó explicit módon kikapcsolta a szkript végrehajtását Internet Explorer, vagy ha a weblap aktuális biztonsági konfigurációja nem teszi lehetővé.

A következőre érvényes:

InvokeScript(String, Object[])

Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs
Forrás:
HtmlDocument.cs

Egy HTML-lapon definiált Active Scripting függvényt hajt végre.

public:
 System::Object ^ InvokeScript(System::String ^ scriptName, cli::array <System::Object ^> ^ args);
public object InvokeScript(string scriptName, 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

Paraméterek

scriptName
String

A meghívandó szkript metódusának neve.

args
Object[]

A szkriptmetódusnak átadni kívánt argumentumok.

Válaszok

Az aktív szkriptelési hívás által visszaadott objektum.

Példák

Az alábbi példakód egy szkript tartalmát hajtja végre egy weblapon. A példakód megköveteli, hogy az alkalmazásban legyen egy WebBrowser neve WebBrowser1, és hogy betöltse a következő weblapot.

<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

Megjegyzések

A visszaadott InvokeScript objektum mögöttes típusa eltérő lesz. Ha az úgynevezett Active Scripting függvény skaláris adatokat, például sztringet vagy egész számot ad vissza, a függvény sztringként adja vissza. Ha egy szkriptalapú objektumot ad vissza, például egy JScript vagy VBScript new operátorral létrehozott objektumot, akkor az típusú Objectlesz. (Az ilyen objektumok hívásával GetType és használatával InvokeMemberhívásokat kezdeményezhet.) Ha egy HTML DOM-elemet ad vissza, például egy DIV vagy egy TABLE, akkor az típus Objectlesz; ha hozzáadta a projekthivatkozást MSHTML.DLL, az adott nem felügyelt DOM-típusra lesz vetve.

Bármilyen, a felhasználó gépére telepített active scripting nyelven írt függvényt meghívhat, beleértve a JScriptet és a VBScriptet is.

Ez a módszer nem tesz semmit, ha a felhasználó kifejezetten kikapcsolta a szkript végrehajtását Internet Explorer, vagy ha a weblap aktuális biztonsági konfigurációja nem teszi lehetővé.

A következőre érvényes: