您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
send browser notification when getting notification on facebook.
当前为
// ==UserScript== // @name facebook notification sender // @namespace http://gholk.github.io/ // @description send browser notification when getting notification on facebook. // @version 3 // @match https://www.facebook.com/* // @grant GM.notification // @grant window.focus // ==/UserScript== const iconFacebook = document.querySelector('link[rel~=icon]')?.href || 'https://static.xx.fbcdn.net/rsrc.php/yD/r/d4ZIVX-5C-b.ico' function findNotify(node = document.body) { for (const notify of node.querySelectorAll('[aria-atomic = true]')) { if (notify.textContent != '所有通知都已標示為已讀。') { return notify } } } function sendGmNotify(node) { const title = 'facebook notify' const message = node.textContent const image = iconFacebook GM.notification(message, title, image, () => { window.focus() const anchor = node.previousElementSibling.querySelector('a') anchor.click() }) } function pageInBackGround() { return document.visibilityState != 'visible' } const observer = new MutationObserver(mulist => { for (const mutation of mulist) { if (mutation.type == 'childList') { const node = mutation.target const notify = findNotify(node) if (notify && pageInBackGround()) sendGmNotify(notify) } } }) observer.observe(document.body, { childList: true, subtree: true, characterData: true })