主题 Dark+ 在 v0.3.3
中更新的一个小功能, 可以使用自定义块属性为视频块/音频块设置一个时间戳, 按住 Ctrl 键后单击视频块/音频块的空白处即可跳转到指定的时间
- 自定义属性名:
time
- 自定义属性值: 满足正则表达式
^(\d+)(:[0-5]?[0-9]){0,2}(\.\d*)?$
ss
:ss >= 0
ss.ms
:ss >= 0 && ms >= 0
mm:ss
:mm >= 0 && 0 <= ss <= 59
mm:ss.ms
:mm >= 0 && 0 <= ss <= 59 && ms >= 0
hh:mm:ss
:hh >= 0 && 0 <= mm <= 59 && 0 <= ss <= 59
hh:mm:ss.ms
:hh >= 0 && 0 <= mm <= 59 && 0 <= ss <= 59 && ms >= 0
- 示例:
3661
,3661.246
,61:1
,61.1.246
,61:01
,61.01.246
,01:01:01
,01:01:01.246
,1:1:1
,1:1:1.246
若未安装 Dark+ 主题, 可以将如下文件放到所使用主题目录下即可
- 文件名:
theme.js
var config = { timestamp: { // 视频/音频时间戳 enable: true, // 是否启用时间戳 attribute: 'custom-time', // 自定义块属性名称 }, hotkeys: { // 快捷键 timestamp: { jump: { // 跳转到指定时间点 ctrlKey: true, metaKey: true, shiftKey: false, altKey: false, type: 'click', }, }, }, }; function isNum(str) { if (str != null && str != "") { return !isNaN(str); } return false; } function isEvent(event, key) { return (event.type == key.type && (event.ctrlKey == key.ctrlKey || event.metaKey == key.metaKey) && event.shiftKey == key.shiftKey && event.altKey == key.altKey ) } window.onload = setTimeout( () => { if (config.timestamp.enable) { let body = document.querySelector('body'); // 块属性编辑窗口确认按钮保存自定义样式 body.addEventListener('click', (e) => { try { // console.log(e); if (isEvent(e, config.hotkeys.timestamp.jump)) { var time = e.target.getAttribute(config.timestamp.attribute); if (isNum(time)) { switch (e.target.getAttribute('data-type')) { case 'NodeAudio': case 'NodeVideo': setTimeout(() => { e.target.firstElementChild.firstElementChild.currentTime = time; }, 0); break; default: break; } } } } catch (err) { console.error(err); } }, true); } }, 0)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于