日期:2014-05-17  浏览次数:20516 次

c# winform 如何要实现引入外部js文件?
比如c# winform中如何要引入外部js文件(类似html中的通过script标签引入外部js文件的效果)

<script type='text/javascrit' src='http://www.xxx.com/a.js'></script>


a.js中的内容如下:
var Num=3;
fucntion getNum(){
return  x;

}

Microsoft.Jscript.dll中可以动记解释javascrit代码,但当js内容比较多时,如何实现类似html页面中通过<script>标签引入外部js文件的功能?

------解决方案--------------------
引用:
比如c# winform中如何要引入外部js文件(类似html中的通过script标签引入外部js文件的效果)

用webbrowser可能比较适合你和要求
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx
webBrowser1.DocumentText = 
    @"<html><head>
      <script type='text/javascript'>
      function testFunction() {
          alert('test');
      }
      </script>
      </head><body></body></html>";
webBrowser1.Document.InvokeScript("testFunction");

------解决方案--------------------
一定要引用外部js 复杂点可以创建1个小型iis服务端 然后通过请求监听的端口返回js数据

2:

 Dim ele As HtmlElement = MyWebbrowser1.Document.CreateElement("script")
                ele.SetAttribute("type", "text/javascript")
              ele.SetAttribute("text", "(function(){try{alert('文本')}catch(ex){alert(ex)}})()")
                MyWebbrowser1.Document.Body.AppendChild(ele)

HtmlElement ele = MyWebbrowser1.Document.CreateElement("script");
ele.SetAttribute("type", "text/javascript");
ele.SetAttribute("text", "(function(){try{alert('文本')}catch(ex){alert(ex)}})()");
MyWebbrowser1.Document.Body.AppendChild(ele);


text的值你可以放在资源里嘛 调用下就可以了
------解决方案--------------------
你可以生成1个private的WebBrowser  如果是多线程就临时new,未必要画在界面上

如果js是固定的  你还不如翻译成c#版本的 一劳永逸,反正 js的语法和c#类似  不懂的多度娘谷姐