码迷,mamicode.com
首页 > Windows程序 > 详细

winform WebBrowser控件中,cs后台代码执行动态生成的js

时间:2017-08-31 16:06:08      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:动态插入   string   oid   页面   动态   插入   invoke   pen   doc   

很多文章都是好介绍C# 后台cs和js如何交互,cs调用js方法(js方法必须是页面上存在的,已经定义好的),js调用cs方法,

但如果想用cs里面执行动态生成的js代码,如何实现呢?

思路大致是这样的,cs动态插入js到html上,cs执行html插入的js方法代码。

封装好的方法:

/// <summary>
/// webbrowser执行脚本
/// </summary>
/// <param name="web">传入WebBrowser 控件</param>
/// <param name="javascript">js代码</param>
public static void ExecuteJavascript(WebBrowser web, string javascript)
{
HtmlElement script = web.Document.CreateElement("script");
script.SetAttribute("type", "text/javascript");
script.SetAttribute("text", "function _func(){" + javascript + "}");
HtmlElement head = web.Document.Body.AppendChild(script);//页面插入定义的一个js方法
web.Document.InvokeScript("_func");//执行js方法
}

 

使用:ExecuteJavascript(web,"alert(‘1‘)");

winform WebBrowser控件中,cs后台代码执行动态生成的js

标签:动态插入   string   oid   页面   动态   插入   invoke   pen   doc   

原文地址:http://www.cnblogs.com/y114113/p/7458110.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!