HtmlDocument.InvokeScript Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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é.