首页 新闻 会员 周边

如何在WebBrowser中注进一段自已写的javaScript ?

0
[已解决问题] 解决于 2013-11-13 16:09

我在网上找到这样,你们觉得怎么样,有没有更完美的方法

1 private void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
2         {
3             IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser.Document.DomDocument;
4             vDocument.parentWindow.execScript(
5             "function alert(str){if(str== 'zswang ')confirm(str);} ", "javaScript "); 
6             
7         }
yeopp的主页 yeopp | 菜鸟二级 | 园豆:319
提问于:2013-11-13 13:28
< >
分享
最佳答案
0

我记得把WebBrowser.Document可以转为DomDocument,转换后可以访问Header部分,可以添加代码块,很久没弄,都不知道当时把代码写在哪个项目中了。

奖励园豆:5
空明流光 | 初学一级 |园豆:106 | 2013-11-13 15:17

哦,对了。

foreach(var ele in wb.Document.All)好像可以找到所有标签,你可以试试能否直接注入想要的标签

空明流光 | 园豆:106 (初学一级) | 2013-11-13 15:18

@沧海一杰: 嗯,谢谢你

yeopp | 园豆:319 (菜鸟二级) | 2013-11-13 15:40
其他回答(1)
0
  //遍历webBrowser里a标签 然后根据名称将事件订阅给指定名称的a标签
            foreach (HtmlElement el in this.webBrowser1.Document.GetElementsByTagName("a"))
            {
                switch (el.Name)
                {
                    case "saveasImage": el.Click += new HtmlElementEventHandler(WebButtonsaveas_Click); break;
                    case "saveasFiles": el.Click += new HtmlElementEventHandler(WebButtonsaveas_Click); break;
                }
            }


 private void WebButtonsaveas_Click(object sender, HtmlElementEventArgs e)
        {}

//你可以稍加改动
biubiubiu | 园豆:114 (初学一级) | 2013-11-13 14:05

您是说把我要执行的js代码加个某个a标签,然后再去点那个a标签执行我想要的代码是吗?

支持(0) 反对(0) yeopp | 园豆:319 (菜鸟二级) | 2013-11-13 15:43

@yeopp: 不  你可以根据这段代码 自己扩展

支持(0) 反对(0) biubiubiu | 园豆:114 (初学一级) | 2013-11-13 15:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册