FireBreath插件在IE8上响应不了方向键

本文介绍了解决在Firebreath插件中IE8浏览器无法捕获方向键问题的方法。通过修改FBControl类中的TranslateAccelerator方法,使得插件能够在IE8中正常响应方向键事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

在Firebreath工程,捕获方向键。比如:


在插件类里面注册KeyDownEvent事件;事件处理:

bool XXX::onKeyDown(FB::KeyDownEvent *evt,FB::PluginWindow*win) {
    if (win == NULL) {
        return false;
    }


    FB::FBKeyCode code = evt->m_key_code;
    if (code == FB::FBKEY_LEFT) {
        ...;
    } else if (code == FB::FBKEY_RIGHT) {
        ...;
    }
    return false;
}

在非IE浏览器下都可以捕获的,IE10下也可以。唯独IE8下不下。不过ie8现在是主流,不通过是不行的。


google了许久,是Firebreath里面ActiveXCore的一个小问题,需要在FBControl class (\src\activexcore\fbcontrol.h)添加如下代码:


STDMETHOD(TranslateAccelerator)(LPMSG lpmsg){ return S_FALSE; }

重新编译,就可以了。


参考:

http://jira.firebreath.org/browse/FIREBREATH-185


JS也有类似的问题,不过应该和Firebreath项目(插件)没有直接的关系:

http://stackoverflow.com/questions/2217553/detecting-arrow-key-press-in-ie-via-javascript-jquery

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值