您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在B站笔记中,打开笔记快捷键:Alt+↑,关闭笔记快捷键:Alt+↓,截图+时间戳快捷键:Ctrl+↓,时间戳+截图快捷键:Ctrl+↑,时间戳快捷键:Ctrl+←,截图快捷键:Ctrl+→,笔记窗口切换到视频窗口:Shift+←,视频窗口切换到笔记窗口:Shift+→
当前为
// ==UserScript== // @name B站笔记快捷键←↓→ // @namespace indefined // @version 2.3 // @description 在B站笔记中,打开笔记快捷键:Alt+↑,关闭笔记快捷键:Alt+↓,截图+时间戳快捷键:Ctrl+↓,时间戳+截图快捷键:Ctrl+↑,时间戳快捷键:Ctrl+←,截图快捷键:Ctrl+→,笔记窗口切换到视频窗口:Shift+←,视频窗口切换到笔记窗口:Shift+→ // @author 大王鹅鹅鹅 // @match http*://www.bilibili.com/video/* // @icon https://static.hdslb.com/images/favicon.ico // @grant none // @license AGPL License // ==/UserScript== (function() { 'use strict'; // JS监听键盘快捷键事件 document.addEventListener('keydown', function (event) { if (event.altKey && event.keyCode == 38) {//打开笔记——快捷键:Alt+↑ document.querySelector('div.note-btn.note-btn__blue:nth-child(2)').click(); document.querySelector('div.note-list-footer > div.note-list-btn').click(); var count=2; var timeId=setInterval(function () { count-- if(count<=0){ clearInterval(timeId) } initFocusDown(); }, 600); }; if (event.altKey && event.keyCode == 40) {//关闭笔记——快捷键:Alt+↓ document.querySelector('i.bili-note-iconfont.iconiconfont_icon_close').click(); }; if (event.shiftKey && event.keyCode == 37) {//回到视频——快捷键:Shift+← var pNodel=document.querySelector('div.editor-innter.ql-container.ql-snow > div.ql-editor'); pNodel.blur(); }; if (event.shiftKey && event.keyCode == 39) {//回到笔记——快捷键:Shift+→ var el=document.querySelector('div.editor-innter.ql-container.ql-snow > div.ql-editor'); var scrollHeight =el.scrollHeight; el.scrollTo(0,scrollHeight); el.focus(); if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") { var range = document.createRange(); range.selectNodeContents(el); range.collapse(false); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } else if (typeof document.body.createTextRange != "undefined") { var textRange = document.body.createTextRange(); textRange.moveToElementText(el); textRange.collapse(false); textRange.select(); } }; if (event.ctrlKey && event.keyCode == 37) {//时间戳——快捷键:Ctrl+← document.querySelector('i.bili-note-iconfont.iconicon_flag_L').click(); setTimeout( function(){ document.querySelector('div.dialog-btn.tag-dialog__btn--confirm:nth-child(2)').click(); }, 5 * 100 ); }; if (event.ctrlKey && event.keyCode == 38) {//时间戳+截图——快捷键:Ctrl+↑ new Promise((resolve,reject)=>{ document.querySelector('i.bili-note-iconfont.iconicon_flag_L').click(); return resolve(); }).then(()=>{ setTimeout( function(){ document.querySelector('div.dialog-btn.tag-dialog__btn--confirm:nth-child(2)').click(); },500); }); new Promise((resolve,reject)=>{ setTimeout( function(){ document.querySelector('i.bili-note-iconfont.iconcapture-app').click(); },1000); return resolve(); }).then(()=>{ setTimeout( function(){ var parentNode=document.querySelector('div.editor-innter.ql-container.ql-snow > div.ql-editor'); var childN=parentNode.childNodes; var scrollHeight =parentNode.scrollHeight; parentNode.scrollTo(0,scrollHeight); parentNode.focus(); for(var i=1;childN.length-1;i++){ if(childN[i].innerHTML=="<br>" && childN[i].previousSibling.innerHTML!="<br>" && childN[i].previousSibling.nodeName == "P" && childN[i].nextSibling.nodeName == "DIV"){ childN[i].remove(); } } },1100); }); }; if (event.ctrlKey && event.keyCode == 39) {//截图——快捷键:Ctrl+→ document.querySelector('i.bili-note-iconfont.iconcapture-app').click(); setTimeout( function(){ var parentNode=document.querySelector('div.editor-innter.ql-container.ql-snow > div.ql-editor'); var scrollHeight =parentNode.scrollHeight; parentNode.scrollTo(0,scrollHeight); parentNode.focus(); },500); }; if (event.ctrlKey && event.keyCode == 40) {//截图+时间戳——快捷键:Ctrl+↓ document.querySelector('i.bili-note-iconfont.iconcapture-app').click(); new Promise((resolve,reject)=>{ document.querySelector('i.bili-note-iconfont.iconicon_flag_L').click(); return resolve(); }).then(()=>{ setTimeout( function(){ document.querySelector('div.dialog-btn.tag-dialog__btn--confirm:nth-child(2)').click(); var parentNode=document.querySelector('div.editor-innter.ql-container.ql-snow > div.ql-editor'); var childN=parentNode.childNodes; for(var i=0;childN.length;i++){ if(childN[i].innerHTML=="<br>" && childN[i].nextSibling.innerHTML!="<br>" && childN[i].nextSibling.nodeName == "P" && childN[i].previousSibling.nodeName == "DIV"){ childN[i].remove(); } } },1500); }); }; }); function initFocusDown(){ document.querySelector('div.note-btn.note-btn__blue:nth-child(2)').click(); document.querySelector('div.note-list-footer > div.note-list-btn').click(); var el=document.querySelector('div.editor-innter.ql-container.ql-snow > div.ql-editor'); var scrollHeight = el.scrollHeight; el.scrollTo(0,scrollHeight); el.focus(); if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") { var range = document.createRange(); range.selectNodeContents(el); range.collapse(false); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } else if (typeof document.body.createTextRange != "undefined") { var textRange = document.body.createTextRange(); textRange.moveToElementText(el); textRange.collapse(false); textRange.select(); } } function reTry(asyncFunc,times) { return new Promise(async (resolve, reject) => { function reTryFunc(times) { asyncFunc().then((res) => { if (times > 0) { console.log(`try${times}times`) setTimeout(() => { reTryFunc(times - 1) }) } else { reject() } resolve(res) }).catch((err) => { if (times > 0) { console.log(`try${times}times`) setTimeout(() => { reTryFunc(times - 1) }) } else { reject(err) } }) } reTryFunc(times) }) } })();