1.首先要让我们自己的CefClient这个类公有继承CefKeyboardHandler

2.添加键盘事件构造函数

virtual CefRefPtr<CefKeyboardHandler> GetKeyboardHandler() OVERRIDE
{return this;
}

3.然后重写父类的OnPreKeyEvent和OnKeyEvent两个方法

在.h文件中添加函数声名

virtual bool OnPreKeyEvent(CefRefPtr<CefBrowser> browser,const CefKeyEvent& event,CefEventHandle os_event,bool* is_keyboard_shortcut) ;virtual bool OnKeyEvent(CefRefPtr<CefBrowser> browser,const CefKeyEvent& event,CefEventHandle os_event) ;

在.cpp中重写函数

F5和小写t的ASCLL码都是116,如果不做处理,按F5和t都能实现刷新功能,这是我们不想看到的。

1.通过调试时发现,按F5的时候event的type是KEYEVENT_RAWKEYDOWN,windows_key_code 是116;

2.按键盘t的时候OnPreKeyEvent会响应两次,第一次event的type是KEYEVENT_RAWKEYDOWN,windows_key_code是84(大写T的ASCII码是84),第二次event的type是KEYEVENT_CHAR,windows_key_code是116(小写t的ASCII码是116,因为没有判断按键类型导致F5和小写t同时都能刷新),因此通过event中的type判断一下,实现完美的刷新功能。

1.按F5

2.按键盘“T”

第一次响应

第二次响应

方法一:

bool CCefBrowserEventHandler::OnPreKeyEvent(CefRefPtr<CefBrowser> browser,const CefKeyEvent& event,CefEventHandle os_event,bool* is_keyboard_shortcut)
{if (event.type != KEYEVENT_CHAR){if (event.windows_key_code == VK_F5)//F5刷新{browser->Reload();//browser->ReloadIgnoreCache();//重新加载当前页面,忽略任何缓存的数据}}return false;
}bool CCefBrowserEventHandler::OnKeyEvent(CefRefPtr<CefBrowser> browser,const CefKeyEvent& event,CefEventHandle os_event)
{return false;
}

方法二:

bool CCefBrowserEventHandler::OnPreKeyEvent(CefRefPtr<CefBrowser> browser,const CefKeyEvent& event,CefEventHandle os_event,bool* is_keyboard_shortcut)
{if (event.type == KEYEVENT_RAWKEYDOWN){if (event.windows_key_code == VK_F5)//F5刷新{browser->Reload();//browser->ReloadIgnoreCache();//重新加载当前页面,忽略任何缓存的数据。}}return false;
}bool CCefBrowserEventHandler::OnKeyEvent(CefRefPtr<CefBrowser> browser,const CefKeyEvent& event,CefEventHandle os_event)
{return false;
}

CEF实现F5刷新快捷键相关推荐

  1. CEF 添加F5刷新快捷键

    Keyboardcodes:https://www.androidos.net.cn/android/4.3_r1/xref/external/webkit/Source/WebCore/platfo ...

  2. 【MAC使用技巧】浏览器设置F5刷新快捷键

    Safari刷新的默认快捷键是command+r. 习惯了在windows下使用习惯的屌丝们,忽然间转到MAC上总是会有些不大习惯,F5刷新这怎么习惯的操作居然MAC/APPLE没有保持这样的习惯,这 ...

  3. 【MAC使用技巧】Safari、qq浏览器等设置F5刷新快捷键

    转载自:"http://www.mythroad.net/2012/11/27/%E3%80%90mac%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7%E3%80% ...

  4. jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等

    禁用鼠标右键菜单栏 $("body").bind("contextmenu", function(event) {return false;}); 禁用快捷键 ...

  5. cad刷新快捷键_第16期分享:常用电脑快捷键是哪些?

    电脑键盘快捷键的使用能很好的提高工作效率,所谓的快捷键就是使用键盘上某一个或某几个键的组合完成一条功能命令,从而达到提高操作速度的目的.善于使用快捷键能更快捷的使用电脑,那么电脑键盘快捷键有哪些呢?下 ...

  6. cad刷新快捷键_CAD快捷键大全清单,送给每一位CAD初学者,非常实用的干货

    学习CAD一定要掌握快捷键,掌握快捷键者掌握效率,下面就给大家带来一份CAD快捷键大全清单,请收好哦. 一.常用功能键 电脑键盘顶端一排的功能键,从F1~F12,很少有人用,用的最多的因为是F5刷新, ...

  7. cad刷新快捷键_三天学会CAD制图技巧,入门到精通,学会后你就逆天了

    很多人都想成为设计师,首要的工作就是学会CAD制图.学习CAD很难吗?只要你记住一句,再难的东西也是人想出来的,没有什么学不会的,三天就能让你从入门到精通. 一.选择制图工具 1.CAD制图必须用到制 ...

  8. 常用浏览器的强制刷新快捷键

    常用浏览器的强制刷新快捷键 保存后您可能需要清空浏览器的缓存才能看到这些修改. Mozilla / Firefox / Safari: 按下 "Shift" 键同时点击" ...

  9. 强制刷新网页 html,网页强制刷新快捷键是哪个?

    360刷新快捷键 360极速浏览器在安全性能上也延续了360作为国内互联网第一安全厂商的优势, 360极速浏览器强制刷新(忽略缓存)当前网页快捷键是Ctrl+F5.Shift+F5,内置最全的恶意网址 ...

最新文章

  1. 2021年中国工业互联网安全大赛核能行业赛道writeup之传统流量取证
  2. 异步通知是什么意思_一次相亲经历,我彻底搞懂了阻塞非阻塞、同步异步
  3. BZOJ2588 Count on a tree DFS序+LCA+值域主席树
  4. c# C++接口封装 汽车模拟仿真
  5. 等值线在Google Map上的叠加Extent
  6. IOS横竖屏控制与事件处理
  7. 劝你们,千千千万不要当一个程序员!!!!!!
  8. Julia : global、local 以及 作用域问题
  9. 两台redhat7虚拟机配置ssh免密访问
  10. spss essentials for python_SPSS python教程:[1]安装Python Essentials
  11. 录屏软件推荐--绝对良心--中国人不骗中国人
  12. ftp上传工具如何下载和使用像详细教程
  13. 使用Racket语言给图片添加文字logo
  14. LeetCode--476. 数字的补数
  15. 京东云linux查看挂载磁盘,使用S3fs在Linux实例上挂载Bucket
  16. 十大流行健美营养补剂
  17. linux 内核修改rss,什么是Linux内存管理中的RSS和VSZ
  18. Google地图的Street View和Mapplets
  19. 明确不站队BAT,帆软——这家只有几百人的BI公司靠什么赢得生存?
  20. eclipse 更换国内镜像

热门文章

  1. 像可口可乐这类世界知名公司为什么要持续大量地投放广告?
  2. 【云计算】云计算、雾计算、边缘计算到底是怎么回事?
  3. UGUI-- ScrollBar 滚动条
  4. python os模块创建文件夹_Python创建文件夹与文件的快捷方法
  5. uniapp发布微信小程序vendor.js过大
  6. Django之jango框架 及 APP
  7. vue3+vant4 vant4主题色配置(简单快捷)
  8. 【我的OpenGL学习进阶之旅】着色器和程序(上)------着色器
  9. Word+Mathtype的双栏科研论文排版技巧
  10. Redis主从复制(七)