您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays a browser notification when a song plays.
// ==UserScript== // @name Pandora Notifications // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js // @namespace toe_head2001PandoraNotifications // @description Displays a browser notification when a song plays. // @author toe_head2001 // @version 1.3 // @include http://www.pandora.com/* // @include https://www.pandora.com/* // @grant none // ==/UserScript== var title = ''; var artist = ''; var album = ''; var art = ''; var display = false; var interval = setInterval(function () { if (!('Notification' in window)) { alert('This browser does not support desktop notifications.'); clearInterval(interval); } else { var newTitle = $('.nowPlayingTopInfo__current__trackName').filter(":first").text(); var newArtist = $('.nowPlayingTopInfo__current__artistName').filter(":first").text(); var newAlbum = $('.nowPlayingTopInfo__current__albumName').filter(":first").text(); var newArt = $('.nowPlayingTopInfo__artContainer__art').css('background-image'); newArt = newArt.substring(5, newArt.length - 2); if (title != newTitle || artist != newArtist || album != newAlbum || art != newArt) { title = newTitle; artist = newArtist; album = newAlbum; art = newArt; display = true; } else if (display && title == newTitle && artist == newArtist && album == newAlbum && art == newArt) { display = false; notifyMe(); } } }, 1000); function notifyMe() { var details = { body: title + '\n' + artist + '\n' + album, icon: art, tag: 'CurrentlyPlaying' } if (Notification.permission === 'granted') { var notification = new Notification('Currently Playing', details); } else if (Notification.permission !== 'denied') { Notification.requestPermission(function (permission) { if (permission === 'granted') { var notification = new Notification('Currently Playing', details); } }); } }