HtmlDocument.InvokeScript 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
執行定義在 HTML 網頁中的 Active Scripting 函式。
多載
InvokeScript(String) |
執行定義在 HTML 網頁中的 Active Scripting 函式。 |
InvokeScript(String, Object[]) |
執行定義在 HTML 網頁中的 Active Scripting 函式。 |
範例
下列程式碼範例會在網頁中執行腳本的內容。 程式碼範例會要求您已載入下列網頁。
<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)
執行定義在 HTML 網頁中的 Active Scripting 函式。
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
參數
- scriptName
- String
要叫用的指令碼方法名稱。
傳回
Active Scripting 呼叫所傳回的物件。
範例
下列程式碼範例會在網頁中執行腳本的內容。 程式碼範例會要求您在名為 WebBrowser1
的應用程式中擁有 WebBrowser ,而且您已載入下列網頁。
<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 傳回之物件的基礎類型會有所不同。 如果呼叫的 Active Scripting 函式傳回純量資料,例如字串或整數,則會以字串的形式傳回。 如果它會傳回以腳本為基礎的物件,例如使用 JScript 或 VBScript new
運算子建立的物件,則其類型為 Object
。 (您可以藉由呼叫 GetType 和使用 InvokeMember .) 呼叫這類物件,如果它傳回 HTML DOM 元素,例如 DIV
或 TABLE
,則其類型 Object
為 ;不過,如果您已將專案參考新增至MSHTML.DLL,則會轉換成其特定的 Unmanaged DOM 類型。
您可以呼叫以使用者電腦上安裝的任何 Active Scripting 語言撰寫的任何函式,包括 JScript 和 VBScript。
如果使用者已在 Internet Explorer 中明確關閉腳本執行,或網頁目前的安全性設定不允許,則 InvokeScript 不會執行任何動作。
適用於
InvokeScript(String, Object[])
執行定義在 HTML 網頁中的 Active Scripting 函式。
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
參數
- scriptName
- String
要叫用的指令碼方法名稱。
- args
- Object[]
要傳遞給指令碼方法的引數。
傳回
Active Scripting 呼叫所傳回的物件。
範例
下列程式碼範例會在網頁中執行腳本的內容。 程式碼範例會要求您在名為 WebBrowser1
的應用程式中擁有 WebBrowser ,而且您已載入下列網頁。
<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 傳回之物件的基礎類型會有所不同。 如果呼叫的 Active Scripting 函式傳回純量資料,例如字串或整數,則會以字串的形式傳回。 如果它會傳回以腳本為基礎的物件,例如使用 JScript 或 VBScript new
運算子建立的物件,則其類型為 Object
。 (您可以藉由呼叫 GetType 和使用 InvokeMember .) 呼叫這類物件,如果它傳回 HTML DOM 元素,例如 DIV
或 TABLE
,則其類型 Object
為 ;不過,如果您已將專案參考新增至MSHTML.DLL,則會轉換成其特定的 Unmanaged DOM 類型。
您可以呼叫以使用者電腦上安裝的任何 Active Scripting 語言撰寫的任何函式,包括 JScript 和 VBScript。
如果使用者已在 Internet Explorer 中明確關閉腳本執行,或網頁目前的安全性設定不允許它,這個方法就不會執行任何動作。