您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Plays an audio when a browser notification is shown. This script should be applied only for specific sites, since some sites may already have an audible notification. So, once the script is installed, change the @match metadata.
- // ==UserScript==
- // @name Audible Notification API
- // @namespace http://tampermonkey.net/
- // @version 1.0.4
- // @license GNU AGPLv3
- // @description Plays an audio when a browser notification is shown. This script should be applied only for specific sites, since some sites may already have an audible notification. So, once the script is installed, change the @match metadata.
- // @author jcunews
- // @match *://thesite.com/*
- // @match *://othersite.com/*
- // @grant none
- // @run-at document-start
- // ==/UserScript==
- (function(ntf, aud) {
- //== CONFIGURATION BEGIN ===
- var audioUrl = "https://soundbible.com/grab.php?id=1952&type=mp3";
- //== CONFIGURATION BEGIN ===
- ntf = window.Notification;
- Notification = function(title, options) {
- aud.pause();
- aud.autoplay = false;
- aud.muted = false;
- if (aud.fastSeek) {
- aud.fastSeek(0);
- } else aud.currentTime = 0;
- aud.play();
- return new ntf(title, options);
- };
- Notification.prototype = {
- onclick: {
- get: function() {
- return ntf.onclick;
- },
- set: function(f) {
- return ntf.onclick = f;
- }
- },
- onclose: {
- get: function() {
- return ntf.onclose;
- },
- set: function(f) {
- return ntf.onclose = f;
- }
- },
- onerror: {
- get: function() {
- return ntf.onerror;
- },
- set: function(f) {
- return ntf.onerror = f;
- }
- },
- onshow: {
- get: function() {
- return ntf.onshow;
- },
- set: function(f) {
- return ntf.onshow = f;
- }
- }
- };
- Notification.requestPermission = function() {
- return ntf.requestPermission.apply(ntf, arguments);
- };
- aud = new Audio(audioUrl);
- aud.autoplay = true;
- aud.muted = true;
- aud.style.display = "none!important";
- addEventListener("load", function() {
- document.body.appendChild(aud);
- });
- })();