c#: WebBrowser控件注入js代码的两种方案

聊做备忘。

假设js代码为:

string jsCode = @"function showAlert(s) {{ alert('hello, world! ' + s);}}; showAlert('{0}');";

  

那么,在WebBrowser文档加载完成后,两种方法可以执行它:

1、常规方法,追加script元素:

var script = browser.Document.CreateElement("script");
script.SetAttribute("type", "text/javascript");
script.SetAttribute("text", "function _func() {" + string.Format(jsCode, "method 1") + "}");
browser.Document.Body.AppendChild(script);
browser.Document.InvokeScript("_func");

 

2、DomDocument法。此方法,须在程序中引用MSHTML对象。

ar doc = this.browser.Document.DomDocument as IHTMLDocument2;
var win = doc.parentWindow as IHTMLWindow2;
jsCode = string.Format(jsCode, "method 2"); 
win.execScript(jsCode, "javascript");

 

这两种方法,都 能成功执行js代码:

 

调用外部js方法:webBrowser调用外部js文件和js函数 - SDYWCD--阿达阿达 - ITeye博客

转载于:https://www.cnblogs.com/crwy/p/11275245.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值