次の方法で共有


WebBrowser.InvokeScript メソッド

定義

現在読み込まれているドキュメントで定義されているスクリプト関数を実行します。

オーバーロード

InvokeScript(String)

現在読み込まれているドキュメントによって実装されているスクリプト関数を実行します。

InvokeScript(String, Object[])

現在読み込まれているドキュメントで定義されているスクリプト関数を実行します。

InvokeScript(String)

現在読み込まれているドキュメントによって実装されているスクリプト関数を実行します。

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

実行するスクリプト関数の名前。

戻り値

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

例外

WebBrowser インスタンスは無効になりました。

基になるネイティブ WebBrowser への参照を取得できませんでした。

スクリプト関数が存在しません。

次の例は、 を使用 InvokeScript(String)して WPF アプリケーションからドキュメント内のスクリプト関数を呼び出す方法を示しています。 この例では、スクリプト関数にはパラメーターがありません。

WPF から呼び出されるスクリプト関数を実装する HTML ドキュメントを次に示します。

<html>  
    <head>  
        <script type="text/javascript">  
            // Function Without Parameters  
            function JavaScriptFunctionWithoutParameters()    
            {  
              outputID.innerHTML = "JavaScript function called!";  
            }  
        </script>  
    </head>  
    <body>  
    <div id="outputID" style="color:Red; font-size:16">  
        Hello from HTML document with script!  
    </div>  
    </body>  
</html>  

HTML ドキュメントでスクリプト関数を呼び出す WPF 実装を次に示します。

private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)  
{  
  // Make sure the HTML document has loaded before attempting to  
  // invoke script of the document page. You could set loadCompleted  
  // to true when the LoadCompleted event on the WebBrowser fires.  
  if (this.loadCompleted)  
  {  
    try  
    {  
      this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters");  
    }  
    catch (Exception ex)  
    {  
      string msg = "Could not call script: " +  
                   ex.Message +  
                  "\n\nPlease click the 'Load HTML Document with Script' button to load.";  
      MessageBox.Show(msg);  
    }  
  }  
}  

注釈

InvokeScript(String) を実装するドキュメントの読み込みが完了する前に を呼び出さないでください。 イベントを処理 LoadCompleted することで、ドキュメントの読み込みが完了したことを検出できます。

適用対象

InvokeScript(String, Object[])

現在読み込まれているドキュメントで定義されているスクリプト関数を実行します。

public:
 System::Object ^ InvokeScript(System::String ^ scriptName, ... cli::array <System::Object ^> ^ args);
[System.Security.SecurityCritical]
public object InvokeScript (string scriptName, params object[] args);
public object InvokeScript (string scriptName, params object[] args);
[<System.Security.SecurityCritical>]
member this.InvokeScript : string * obj[] -> obj
member this.InvokeScript : string * obj[] -> obj
Public Function InvokeScript (scriptName As String, ParamArray args As Object()) As Object

パラメーター

scriptName
String

実行するスクリプト関数の名前。

args
Object[]

スクリプト関数に渡すパラメーター。

戻り値

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

属性

例外

WebBrowser インスタンスは無効になりました。

基になるネイティブ WebBrowser への参照を取得できませんでした。

スクリプト関数が存在しません。

次の例は、 を使用 InvokeScript(String, Object[])してアプリケーションからドキュメント内のスクリプト関数を呼び出す方法を示しています。 この例では、スクリプト関数にはパラメーターが必要です。

WPF から呼び出されるスクリプト関数を実装するドキュメントを次に示します。

<html>  
    <head>  
        <script type="text/javascript">  
            // Function Without Parameters  
            function JavaScriptFunctionWithoutParameters()    
            {  
              outputID.innerHTML = "JavaScript function 'called: " + message + ".";  
            }  
        </script>  
    </head>  
    <body>  
    <div id="outputID" style="color:Red; font-size:16">  
        Hello from HTML document with script!  
    </div>  
    </body>  
</html>  

HTML ドキュメントでスクリプト関数を呼び出す WPF 実装を次に示します。

private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)  
{  
  // Make sure the HTML document has loaded before attempting to  
  // invoke script of the document page. You could set loadCompleted  
  // to true when the LoadCompleted event on the WebBrowser fires.  
  if (this.loadCompleted)  
  {  
    try  
    {  
      this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters", this.messageTextBox.Text);  
    }  
    catch (Exception ex)  
    {  
      string msg = "Could not call script: " +  
                   ex.Message +  
                  "\n\nPlease click the 'Load HTML Document with Script' button to load.";  
      MessageBox.Show(msg);  
    }  
  }  
}  

注釈

InvokeScript(String, Object[]) を実装するドキュメントの読み込みが完了する前に を呼び出さないでください。 イベントを処理 LoadCompleted することで、ドキュメントの読み込みが完了したことを検出できます。

呼び出すスクリプトに十分なパラメーター値を渡さない場合、値を渡さないパラメーターの値は未定義になります。 渡すパラメーター値が多すぎると、余分な値は無視されます。

適用対象