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文件的功能?
[解决办法]
用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#类似 不懂的多度娘谷姐