Language

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

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

返品

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

例外

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[]

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

返品

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

属性

例外

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 イベントを処理することで、ドキュメントの読み込みが完了したことを検出できます。

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

適用対象