HtmlDocument.InvokeScript Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí funkci aktivního skriptování definovanou na stránce HTML.
Přetížení
InvokeScript(String) |
Spustí funkci aktivního skriptování definovanou na stránce HTML. |
InvokeScript(String, Object[]) |
Spustí funkci aktivního skriptování definovanou na stránce HTML. |
Příklady
Následující příklad kódu spustí obsah skriptu na webové stránce. Příklad kódu vyžaduje, abyste načetli následující webovou stránku.
<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)
Spustí funkci aktivního skriptování definovanou na stránce HTML.
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
Parametry
- scriptName
- String
Název metody skriptu, která se má vyvolat.
Návraty
Objekt vrácený voláním Aktivní skriptování.
Příklady
Následující příklad kódu spustí obsah skriptu na webové stránce. Příklad kódu vyžaduje, abyste v aplikaci měli WebBrowser soubor s názvem WebBrowser1
a že jste načetli následující webovou stránku.
<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
Poznámky
Základní typ objektu vráceného objektem InvokeScript se bude lišit. Pokud funkce Active Scripting vrátí skalární data, například řetězec nebo celé číslo, vrátí se jako řetězec. Pokud vrátí objekt založený na skriptech, například objekt vytvořený pomocí operátoru jazyka new
JScript nebo VBScript, bude typu Object
. (Tyto objekty můžete volat voláním GetType a použitím InvokeMember.) Pokud vrátí element HTML DOM, například DIV
nebo TABLE
, bude typu Object
; pokud jste přidali odkaz na projekt do MSHTML.DLL, bude přetypován na jeho konkrétní nespravovaný typ DOM.
Můžete volat jakoukoli funkci napsanou v libovolném aktivním skriptovacím jazyce nainstalovaném na počítači uživatele, včetně jazyka JScript a VBScript.
Pokud InvokeScript uživatel výslovně vypnul spouštění skriptů v aplikaci Internet Explorer nebo pokud aktuální konfigurace zabezpečení pro webovou stránku nepovoluje, nic neudělá.
Platí pro
InvokeScript(String, Object[])
Spustí funkci aktivního skriptování definovanou na stránce HTML.
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
Parametry
- scriptName
- String
Název metody skriptu, která se má vyvolat.
- args
- Object[]
Argumenty, které se mají předat metodě skriptu.
Návraty
Objekt vrácený voláním Aktivní skriptování.
Příklady
Následující příklad kódu spustí obsah skriptu na webové stránce. Příklad kódu vyžaduje, abyste v aplikaci měli WebBrowser soubor s názvem WebBrowser1
a že jste načetli následující webovou stránku.
<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
Poznámky
Základní typ objektu vráceného objektem InvokeScript se bude lišit. Pokud funkce Active Scripting vrátí skalární data, například řetězec nebo celé číslo, vrátí se jako řetězec. Pokud vrátí objekt založený na skriptech, například objekt vytvořený pomocí operátoru jazyka new
JScript nebo VBScript, bude typu Object
. (Tyto objekty můžete volat voláním GetType a použitím InvokeMember.) Pokud vrátí element HTML DOM, například DIV
nebo TABLE
, bude typu Object
; pokud jste přidali odkaz na projekt do MSHTML.DLL, bude přetypován na jeho konkrétní nespravovaný typ DOM.
Můžete volat libovolnou funkci napsanou v jakémkoli aktivním skriptovacím jazyce nainstalovaném na počítači uživatele, včetně JScriptu a VBScriptu.
Tato metoda neprovede nic, pokud uživatel výslovně vypnul spouštění skriptů v aplikaci Internet Explorer nebo pokud aktuální konfigurace zabezpečení webové stránky neumožňuje.