winform WebBrowser控件中,cs后台代码执行动态生成的js
Posted 产卵的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform WebBrowser控件中,cs后台代码执行动态生成的js相关的知识,希望对你有一定的参考价值。
很多文章都是好介绍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的主要内容,如果未能解决你的问题,请参考以下文章
winform中webbrowser控件设置成项目中的html地址
在 WebBrowser 控件 WinForms 中使用 Chrome 引擎