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‘)");

时间: 2024-10-21 07:37:37

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

Winform状态栏控件中Label靠右显示的方法

设计器: 代码: 在Form_Load事件中添加 : statusStripMain.LayoutStyle= ToolStripLayoutStyle.HorizontalStackWithOverflow; lbl单位.Alignment = ToolStripItemAlignment.Right; lblCompany.Alignment = ToolStripItemAlignment.Right; lbl联系电话.Alignment = ToolStripItemAlignment.

VC++ 使用WebBrowser控件中html文件以资源形式加载

1 . . . . 2 3 //加载资源文件中的HTML,IDR_HTML1就是HTML文件在资源文件中的ID 4 wchar_t self_path[MAX_PATH] = { 0 }; 5 GetModuleFileName(NULL, self_path, MAX_PATH); 6 CString res_url; 7 res_url.Format(L"res://%s/%d", self_path, IDR_HTML1); 8 m_webbrowser.Navigate(res

在WPF的WebBrowser控件中屏蔽脚本错误的提示

在WPF中使用WebBrowser控件显示网页时,经常会报脚本错误的提示,如何屏蔽掉这些错误提示呢.方法是定义如下方法: public void SuppressScriptErrors(WebBrowser wb, bool Hide) { FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);

VB.Net / VB 如何隐藏 WebBrowser 控件 中之滚动

VB.Net / VB 如何隐藏 WebBrowser 控件 (组件) 中之滚动 由于 WebBrowser 控件组件 并未提供 滚动设定的属性 , 因此必须自行处理啰 ! > Private Sub WebBrowser1_DocumentCompleted _ (ByVal sender As System.Object, ByVal e As WebBrowserDocumentCompletedEventArgs) Handles _ WebBrowser1.DocumentComple

在带(继承)TextView的控件中,在代码中动态更改TextView的文字颜色

今天由于公司项目需求,须要实现一种类似tab的选项卡,当时直接想到的就是使用RadioGroup和RadioButton来实现. 这种方法全然没问题.可是在后来的开发过程中,却遇到了一些困扰非常久的小困难.大概需求是:在代码中.动态的获取tab的个数,然后初始化RadioGroup,每个tab相应一个RadioButton,即加入一个tab就要向RadioGroup中add一个RadioButton,然后在button选中时要更改文字颜色.由于是动态加入,所以无法在xml中配置了RadioBut

C# winform combobox控件中子项加删除按钮(原创)

效果如下图,本人网上搜索资料加上自己的研究终于实现了在combobox子项中加上删除按钮. 一.窗体中的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropS

webBrowser控件中获取元素 的class 属性值

html 代码如下: <TR id="t030006" class="sr plus selected"> <TD><INPUT id=cvrgNo030006 value=030006 readOnly CHECKED type=checkbox jQuery1456994811776="96"></TD> <TD>车辆损失险 </TD> <TD style=&quo

webbrowser 控件实现WinForm与WebForm交互

WebBrowser 控件可以让你装载Windows Form 应用程序中的 Web 网页和其它采用浏览器的文件.可以使用webbrowser 控件将现有的web框架控制项加入至 Windows Form 客户端应用程序.还是直接看代码吧. WebBrowser 控制项 提供的属性.方法和事件,可用来实现 Internet Explorer 的控制项    webBrowser1.Navigate("www.cnblogs.com");    //将指定位置处的文件载入至 WebBro

使用CefSharp 在C#用户控件中嵌入Chrome浏览器使用方法

CEF(Chromium Embedded Framework, 嵌入式Chromium框架)是C/C++开发的库 目前 Google Chrome(Google浏览器),Chromium浏览器,Opera等都是基于CEF为核心,Webkit引擎的浏览器. Xilium.CefGlue是对CEF项目的.net的包装,它是用P/Invoke的方式来调用CEF类库.CEFSharp是用C++/CLI的方式来调用CEF类库的. 原先使用的是Xilium.CefGlue,如果只是单纯在窗口上实现的话是没