HtmlDocument.InvokeScript メソッド

定義

HTML ページで定義されているアクティブ スクリプト関数を実行します。

オーバーロード

名前 説明
InvokeScript(String)

HTML ページで定義されているアクティブ スクリプト関数を実行します。

InvokeScript(String, Object[])

HTML ページで定義されているアクティブ スクリプト関数を実行します。

次のコード例では、Web ページ内のスクリプトの内容を実行します。 このコード例では、次の Web ページを読み込む必要があります。

<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 ページで定義されているアクティブ スクリプト関数を実行します。

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

パラメーター

scriptName
String

呼び出すスクリプト メソッドの名前。

返品

Active Scripting 呼び出しによって返されるオブジェクト。

次のコード例では、Web ページ内のスクリプトの内容を実行します。 このコード例では、アプリケーションに WebBrowser1 というWebBrowserがあり、次の Web ページが読み込まれている必要があります。

<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を使用します)。 DIVTABLEなどの HTML DOM 要素を返す場合は、 Object型になります。プロジェクト参照をMSHTML.DLLに追加した場合は、その特定のアンマネージ DOM 型にキャストされます。

JScript や VBScript など、ユーザーのコンピューターにインストールされている任意の Active Scripting 言語で記述された関数を呼び出すことができます。

InvokeScriptは、ユーザーがInternet Explorerでスクリプトの実行を明示的に無効にした場合、または Web ページの現在のセキュリティ構成で許可されていない場合は、何も行いません。

適用対象

InvokeScript(String, Object[])

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

パラメーター

scriptName
String

呼び出すスクリプト メソッドの名前。

args
Object[]

スクリプト メソッドに渡す引数。

返品

Active Scripting 呼び出しによって返されるオブジェクト。

次のコード例では、Web ページ内のスクリプトの内容を実行します。 このコード例では、アプリケーションに WebBrowser1 というWebBrowserがあり、次の Web ページが読み込まれている必要があります。

<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を使用します)。 DIVTABLEなどの HTML DOM 要素を返す場合は、 Object型になります。プロジェクト参照をMSHTML.DLLに追加した場合は、その特定のアンマネージ DOM 型にキャストされます。

JScript や VBScript など、ユーザーのコンピューターにインストールされている任意の Active Scripting 言語で記述された関数を呼び出すことができます。

このメソッドは、ユーザーが Internet Explorer でスクリプトの実行を明示的に無効にした場合、または Web ページの現在のセキュリティ構成で許可されていない場合は、何も行いません。

適用対象