CefSharp F12打开DevTools查看console
winform嵌入chrome浏览器,修改项目属性 生成 平台为x86
1.nuget安装cefsharp
2.实例化浏览器
private void Form1_Load(object sender, EventArgs e)
{
CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("--disable-web-security","1");//关闭同源策略,允许跨域
settings.CefCommandLineArgs.Add("ppapi-flash-version", "18.0.0.209");//PepperFlash\manifest.json中的version
settings.CefCommandLineArgs.Add("ppapi-flash-path", "PepperFlash\\pepflashplayer.dll");
settings.CefCommandLineArgs.Add("--enable-system-flash", "1");//使用系统flash
Cef.Initialize(settings);
/*以上设置未测试是否可行*/
ChromiumWebBrowser b = new ChromiumWebBrowser("http://localhost:57531/views/Map/scene.html");
this.Controls.Add(b);
b.Dock = DockStyle.Fill;
b.KeyboardHandler = new CEFKeyBoardHander();
}
3.响应F12打开控制台console
public class CEFKeyBoardHander : IKeyboardHandler
{//https://bbs.csdn.net/topics/392375553
public bool OnKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey)
{
if (type == KeyType.KeyUp && Enum.IsDefined(typeof(Keys), windowsKeyCode))
{
var key = (Keys)windowsKeyCode;
switch (key)
{
case Keys.F12:
browser.ShowDevTools();
break;
case Keys.F5:
if (modifiers == CefEventFlags.ControlDown)
{
//MessageBox.Show("ctrl+f5");
browser.Reload(true); //强制忽略缓存
}
else
{
//MessageBox.Show("f5");
browser.Reload();
}
break;
}
}
return false;
}
public bool OnPreKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut)
{
return false;
}
}
From: https://www.cnblogs.com/xuejianxiyang/p/9981398.html
最新文章
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
- 关于oracle中to_char和to_date的用法
- logstash配合filebeat监控tomcat日志
- Java数据库缓存思路
- 小试牛刀——爬topit.me的图片,附github简易上传教程
- WPF中图形表示语法详解(Path之Data属性语法)
- AutoFac使用方法总结
- Swing学习篇 API之JButton组件
- selenium获取动态网页信息(某东)-具体配置信息
- elk 中kafka启动脚本和配置文件
- Spark:实现行转列
- if判断、while循环、for循环
- Solr——Windows下部署Solr6.6.0至Tomcat8.5.28(二)
- Android Studio 之 导入Eclipse项目常见问题及解决方案
- sshd服务分析
- David Silver 强化学习原理 (中文版 链接)
- Solr添加SolrDocument报错
- [翻译] SvpplyTable
- 第七章移动互联网与移动IP
- 在 GitHub 公开仓库中隐藏自己的私人邮箱地址
热门文章
- ES6新增变量
- iOS完全自学手册——[二]Hello World工程
- (转)DB2 HADR 监控详解
- Java 并发编程——volatile与synchronized
- 转载 linux umount 时出现device is busy 的处理方法--fuser
- 解析ASP.NET WebForm和Mvc开发的区别 分类: ASP.NET 2013-12-29 01:59 11738人阅读 评论(5) 收藏
- 在CentOS上装Redis
- 使用SMTP发送邮件
- 【树】Binary Tree Zigzag Level Order Traversal
- Linux 文件IO管理 - POSIX