V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xavierskip
V2EX  ›  问与答

网易云音乐 web 页面的上的键盘快捷键如何去除?

  •  
  •   xavierskip · 203 天前 · 336 次点击
    这是一个创建于 203 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道什么时候网易云的 web 页面上添加了用来控制播放的快捷键,因为键盘上本身就有媒体播放键(其实不是,我 87 键的键盘将几个没用的按键给直接映射成了媒体键),其实是用不上的。

    这不是重要的,问题在于,其中播放上一曲下一曲的快捷键 ctrl+left/right ,在我使用快捷键 windows+ctrl+left/right 去切换显示桌面的时候也会被触发,这就麻烦了,网易云的页面有时候还得切回来看看,不会让其失去焦点放到别的标签页下面只是让其播放。

    这样切换桌面就触发了网易云播放的上一曲下一曲,没法好好用了。

    在 pt_frame_index_xxxxxxx.js 的源码中找到了一段

    ...
    h1x.s1x(document, "keyup", this.bEd8V.f1x(this));
    ...
    b1x.bEd8V = function(d1x) {
        if (d1x.keyCode == 80 && !l1x.bUT0x()) {
            this.by1x.ue1x() ? this.by1x.fM2x() : this.by1x.ez2x()
        } else if (d1x.ctrlKey) {
            switch (d1x.keyCode) {
            case 37:
                this.gt2x.BG3x();
                break;
            case 39:
                this.gt2x.oR4V();
                break
            }
        }
    }
    

    这个看起来也不好改呀。

    想自己写个脚本解决,先是找到了 getEventListeners 这函数,结果这个函数只能在控制台运行,脚本里还不可以。

    最后没办法只有把所有 keyup 事件都给取消了,目前看起来没发生什么问题。

    document.addEventListener("keyup", function (e) {
    	e.stopImmediatePropagation();
    }, true);
    

    最好是有网易云的工作人员把这个快捷键冲突的问题给改了。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2277 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:55 · PVG 08:55 · LAX 16:55 · JFK 19:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.