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);
public object? InvokeScript (string scriptName);
member this.InvokeScript : string -> obj
Public Function InvokeScript (scriptName As String) As Object

パラメーター

scriptName
String

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

戻り値

アクティブ スクリプト呼び出しによって返されたオブジェクト。

次のコード例では、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します)。や TABLEなどの DIV 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);
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[]

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

戻り値

アクティブ スクリプト呼び出しによって返されたオブジェクト。

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

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

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

適用対象