2010-01-01 5 views
4

JavaScript 파일을 가지고 있으며 몇 가지 방법이 있습니다. 내 winform 응용 프로그램에서 그 메서드를 호출하고 싶습니다. 가능한가? 그렇다면 간단한 예를 들어 주시겠습니까?C# winforms에서 Javascript 메서드를 호출 할 수 있습니까?

나는이

Process.Start를 같이하려고했습니다 ("자바 스크립트 : showuser ('사용자 1'); false를 반환;");

그러나 showuser 메소드를 인식하지 못합니다. 내 JS 파일이 원격 위치 (예 : http://mysite.com/userprofile.js)에 있기 때문에

는 당신이 날이

당신은 WebBrowser 컨트롤을 사용할 수 있습니다 당신에게

+0

어쩌면이 [솔루션] (HTTP : //stackoverflow.com/questions/5167522/how-to-handle-javascript-events-via-webbrowser-control-for-winforms) 유용 할 수 있습니다 – garik

답변

10

을 감사 할 수 있습니다. 다음은 샘플 post입니다.

webBrowser1.DocumentText = 
    @"<html><head> 
     <script type='text/javascript'> 
     function testFunction() { 
      alert('test'); 
     } 
     </script> 
     </head><body></body></html>"; 
webBrowser1.Document.InvokeScript("testFunction"); 
당신은 아마도 Evaluator 방법 from here 같은 Microsoft.JScript.dll 참조, 뭔가를 사용할 수
+0

안녕하세요 귀하의 회신에 감사드립니다. 하지만 내 응용 프로그램에 js 파일을 추가 할 수있는 위치를 알려주시겠습니까? 또는 원격지에있는 js 파일에 어떻게 접근 할 수 있습니까? – Nagu

+0

예제에서는 인라인 스크립트를 사용했지만'src' 속성을 사용하여 j를 참조 할 수도 있습니다 :'' –

+0

안녕하세요. 저에게 효과적이지 않아서 미안합니다. 나는 wats가 나에게 잘못한 것을 모른다. 그 경고 메시지도 오지 않습니다. – Nagu

8

; 하지만 정확히 당신이하려는 것은 무엇입니까? 귀하의 winform 스크립트를 원한다면, 나는 IronPython을 사용하려고 할 것입니다. 브라우저을 자동화하려는 경우 WebBrowser 컨트롤을 사용할 수 있습니다. 클래스 외부

[ComVisible(true)] 

(네임 스페이스 내에서)

무엇인가 : 당신은 설정해야합니다 COM 개체를 노출 할 수있는 대한

2

namespace webform 
{ 
    [ComVisible(true)] 

    public partial class frmMain : Form 
    { 
     public frmMain() 
     { 
      InitializeComponent(); 
     } 
    } 
} 
관련 문제