WebBrowser.InvokeScript メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在読み込まれているドキュメントで定義されているスクリプト関数を実行します。
オーバーロード
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 することで、ドキュメントの読み込みが完了したことを検出できます。
呼び出すスクリプトに十分なパラメーター値を渡さない場合、値を渡さないパラメーターの値は未定義になります。 渡すパラメーター値が多すぎると、余分な値は無視されます。
適用対象
.NET