3 云朵小眠眠 10小时前 164次点击
给各位盲人朋友分享一个 Via 浏览器专用网页加载进度蜂鸣提示脚本。网页加载时会发出实体感的滴滴声,加载进度越高,声音越急促,页面加载完成会有一声短促的嘟声提示,方便咱们用听觉判断加载状态。使用方法:打开 Via 浏览器,点击菜单,选择设置,点击脚本,点击添加脚本,弹出菜单后选择添加脚本,把里面默认的代码全部删除,粘贴脚本代码,点击保存,返回主界面即可生效。我待会会把代码发到评论区,需要的朋友直接复制使用。
直接复制人在这个浏览器上面点击菜单,点击设置,点击脚本点击添加脚本,上面会有三个选项,一个是添加脚本,一个是下载脚本,一个是导入脚本,点击添加脚本后把里面的鱼。原来的代码删除掉,把这个脚本的代码粘贴进去就好了
可以在评论区讨论脚本心得
服了,这个百宝箱不能复制评论,还得回读屏这边弄
发一个效果展示吧,不知道这两次加载的区别在哪
感觉这脚本好不好用啊?
用不上,但是感谢分享
Via浏览器加载进度实体蜂鸣提示1.1优化版,优化了蜂鸣提示音,声音更接近真实实体蜂鸣器。本脚本免费分享,需使用统一通用数字兑换码兑换脚本代码,仅发送纯代码,不发文件。需要的朋友请发邮件至19161785384@189.cn领取兑换码。
谢谢反馈啊
我用了。所以上来感谢楼主。
// ==UserScript==
// @name Via浏览器 加载进度实体蜂鸣提示
// @namespace via.load.beep
// @version 1.0
// @description 网页加载进度实体蜂鸣音,方波滴声随进度变急促,完成锯齿波嘟声
// @match *://*/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
let audioCtx;
let beepTimer;
let progress = 0;
let loading = true;
// 初始化音频
function initAudio() {
if (!audioCtx) {
audioCtx = new (window.AudioContext || window.webkitAudioContext)();
}
}
// 实体滴声(方波,短促扎实)
function playBeep() {
initAudio();
const t = audioCtx.currentTime;
const osc = audioCtx.createOscillator();
const gain = audioCtx.createGain();
osc.type = 'square';
osc.frequency.value = 900;
gain.gain.setValueAtTime(0, t);
gain.gain.linearRampToValueAtTime(0.3, t + 0.01);
gain.gain.linearRampToValueAtTime(0, t + 0.1);
osc.connect(gain);
gain.connect(audioCtx.destination);
osc.start(t);
osc.stop(t + 0.12);
}
// 实体嘟声(锯齿波,硬朗短促长音)
function playDone() {
initAudio();
const t = audioCtx.currentTime;
const osc = audioCtx.createOscillator();
const gain = audioCtx.createGain();
osc.type = 'sawtooth';
osc.frequency.value = 1000;
gain.gain.setValueAtTime(0, t);
gain.gain.linearRampToValueAtTime(0.3, t + 0.02);
gain.gain.linearRampToValueAtTime(0, t + 0.5);
osc.connect(gain);
gain.connect(audioCtx.destination);
osc.start(t);
osc.stop(t + 0.55);
}
// 进度蜂鸣循环
function startBeepLoop() {
if (!loading) return;
progress += Math.random() * 6;
if (progress > 100) progress = 100;
playBeep();
// 进度越高,滴得越急促
let delay = 800 - progress * 7;
if (delay < 120) delay = 120;
beepTimer = setTimeout(startBeepLoop, delay);
}
// 开始加载
function startLoad() {
loading = true;
progress = 0;
clearTimeout(beepTimer);
startBeepLoop();
}
// 加载完成
function finishLoad() {
loading = false;
clearTimeout(beepTimer);
setTimeout(playDone, 100);
}
window.addEventListener('beforeunload', startLoad);
window.addEventListener('load', finishLoad);
})();