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