資源簡介
winform 內嵌Google瀏覽器 Chrome
能與js前端頁面交互
代碼片段和文件信息
using?CefSharp.WinForms;
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
namespace?GoogleChromeTest
{
????public?partial?class?Form1?:?Form
????{
????????///?
????????///?Chromium瀏覽器實例
????????///?
????????ChromiumWebBrowser?WebBrowser;
????????public?Form1()
????????{
????????????InitializeComponent();
????????????///設置
????????????var?setting?=?new?CefSharp.CefSettings();
????????????setting.Locale?=?“zh-CN“;
????????????setting.CachePath?=?“CHBrowser/BrowserCache“;//緩存路徑
????????????setting.AcceptLanguageList?=?“zh-CNzh;q=0.8“;//瀏覽器引擎的語言
????????????setting.LocalesDirPath?=?“CHBrowser/localeDir“;//日志
????????????setting.LogFile?=?“CHBrowser/LogData“;//日志文件
????????????setting.PersistSessionCookies?=?true;//
????????????setting.UserAgent?=?“Mozilla/5.0?(Windows?NT?6.1;?Win64;?x64)?AppleWebKit/537.36?(KHTML?like?Gecko)?Chrome/55.0.2883.87?Safari/537.36“;//瀏覽器內核
????????????setting.UserDataPath?=?“CHBrowser/userData“;//個人數據
????????????///初始化
????????????CefSharp.Cef.Initialize(setting);
????????????WebBrowser?=?new?ChromiumWebBrowser(“http://www.baidu.com“);?//初始頁面
????????????WebBrowser.RegisterJsobject(“jsObj“?new?JsEvent()?new?CefSharp.BindingOptions()?{?CamelCasejavascriptNames?=?false?});?//交互數據???????????????????????????????????????????
????????????WebBrowser.Dock?=?Dockstyle.Fill;//鋪滿??????????????????????????????????????????????????????????????????
????????????WebBrowser.Dock?=?Dockstyle.Fill;//設置停靠方式
????????????this.Controls.Add(WebBrowser);//加入窗體
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????}
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????WebBrowser.Load(textBox1.Text);//瀏覽網址
????????}
????????private?async?void?button2_Click(object?sender?EventArgs?e)
????????{
????????????await?WebBrowser.GetBrowser().Mainframe.EvaluatescriptAsync(“test_val=“?+?new?Random().Next().ToString(“F“));?//設置頁面上js的test_val變量為隨機數
????????????await?WebBrowser.GetBrowser().Mainframe.EvaluatescriptAsync(“test()“);//運行頁面上js的test方法
????????}
????????private?async?void?button3_Click(object?sender?EventArgs?e)
????????{
????????????await?WebBrowser.GetBrowser().Mainframe.EvaluatescriptAsync(“testArg(‘123‘‘我是NET‘?)“);//運行頁面上js的testArg帶參數的方法
????????}
????}
????public?class?JsEvent
????{
????????public?string?MessageText?{?get;?set;}
????????public?void?ShowTest()
????????{
????????????MessageBox.Show(“this?in?C#.\n\r“?+?MessageText);
????????}
????????public?void?ShowTestArg(string?ss)
????????{
????????????MessageBox.Show(“收到JS帶參數調用\n\r“?+?ss);
????????}
????}
}
評論
共有 條評論