请求高手:webbrowser如何注入js文件

yxbyxbwj 2009-08-10 12:32:17
如题,在C#的webbrowser控件中如何动态注入js文件,比如webbrowser打开的是百度的页面,我现在想在百度webbrowser的右下角弹出一个窗口,这个弹出窗口是由一个js文件实现的。

完成的代码如下:
string scriptline10 = @"";
scriptline10 += @"function loadjscssfile(filename, filetype){";
scriptline10 += @" if (filetype=='js')";
scriptline10 += @" {";
scriptline10 += @" var fileref=document.createElement('script');";
scriptline10 += @" fileref.setAttribute('type','text/javascript');";
scriptline10 += @" fileref.setAttribute('src',filename);";
scriptline10 += @" }";
scriptline10 += @" if (typeof fileref!='undefined')";
scriptline10 += @" {";
scriptline10 += @" document.getElementsByTagName('head')[0].appendChild(fileref);";
//scriptline10 += @" alert(filename+filetype);";
scriptline10 += @" }";
scriptline10 += @"}";
scriptline10 += "loadjscssfile('http://sfhelp.baidu.com/msg/js/615/718615.js','js');";

mshtml.IHTMLWindow2 win = (mshtml.IHTMLWindow2)this._browser.Document.Window.DomWindow;
win.execScript(scriptline10, "Javascript");
现在的代码可以正常执行,只是没有得到应有的结果,js代码若在html文件里面,可以实现弹窗提示窗口。解决问题可加分,谢谢。
...全文
749 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxbyxbwj 2010-10-04
  • 打赏
  • 举报
回复
没有解决。
风飘无影 2010-06-23
  • 打赏
  • 举报
回复
遇到一样的问题,请问你解决了吗?
yxbyxbwj 2009-08-14
  • 打赏
  • 举报
回复
...没人知道么?
yxbyxbwj 2009-08-13
  • 打赏
  • 举报
回复
继续等待
yxbyxbwj 2009-08-12
  • 打赏
  • 举报
回复
高手出来
xxxxxchener 2009-08-11
  • 打赏
  • 举报
回复
哎呀。太深奥了。。学习。
yxbyxbwj 2009-08-11
  • 打赏
  • 举报
回复
高手高手
guohouchang 2009-08-11
  • 打赏
  • 举报
回复
不能直接这样实现吧! 可以换一种方式。能得到同样的结果便形!
yxbyxbwj 2009-08-10
  • 打赏
  • 举报
回复
谢谢楼上各位,我想的是调用外部的js文件。各位注意看我问题正文,这样是可行的,不知道是局部哪里出错了。
mailbao 2009-08-10
  • 打赏
  • 举报
回复
呵呵,一样,

今天才开始接触winform使用webbrowser,目前还没水平回答你的问题...

关注
kennie_190602169 2009-08-10
  • 打赏
  • 举报
回复
http://blog.csdn.net/cnrefresh/archive/2008/04/25/2328455.aspx

参考一下,看看有没帮助!
qq9717790 2009-08-10
  • 打赏
  • 举报
回复
恩 我今天也在想这个问题呢
希望有高手早些解答
bwangel 2009-08-10
  • 打赏
  • 举报
回复
在打开百度网站以后:
webBrowser1.DocumentText += "<script type='text/javascript'>" + scriptline10 + "</script>"; 
yoyyoyyo 2009-08-10
  • 打赏
  • 举报
回复
附加代码试试

没研究过这个控件
xzq686 2009-08-10
  • 打赏
  • 举报
回复
这个实现不了吧..
打开别人的网站,然后弹出你的东西?
不可能吧..你在客户端找开的都是静态文件.不可能弹出窗口
li365941471 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 szzzp110 的回复:]
高手还没出现了?
[/Quote].
szzzp110 2009-08-10
  • 打赏
  • 举报
回复
高手还没出现了?
lxxlql 2009-08-10
  • 打赏
  • 举报
回复
不会,顶一下!
lvxianda 2009-08-10
  • 打赏
  • 举报
回复
mark
yxbyxbwj 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sbwwkmyd 的回复:]
引用 6 楼 bwangel 的回复:
在打开百度网站以后:
C# codewebBrowser1.DocumentText+=" <script type='text/javascript'>"+ scriptline10+" </script>";

这个应该可以的
[/Quote]
这个看不到原来网站了,55555555555555,如果这么简单,就不用问高手了,呵呵。
加载更多回复(2)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧