您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ChatWork notification for Scriptish
// ==UserScript== // @id chatwork_notification // @name ChatWork Notification // @version 1.0 // @namespace http://efcl.info/ // @author azu // @description ChatWork notification for Scriptish // @include https://www.chatwork.com/* // @run-at window-load // @icon https://www.chatwork.com/favicon.ico // ==/UserScript== (function(){ var prevUnreadCount = 0; var roomList = document.getElementById("cw_roomlist_items"); if (!roomList){ console.log("チャット画面ではない?"); return; } /* http://domes.lingua.heliohost.org/webapi/intro-domcore1.html https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/ */ var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; var openChatWork = function(){ GM_openInTab(location.href, false, true); }; // https://github.com/ento/chatwork-userscripts function getUnreadCount(){ return unsafeWindow.RL.unread_sum.contact; } var observer = new MutationObserver(function(mutations){ mutations.forEach(function(mutation){ if (mutation.type === 'childList'){ var unreadCount = getUnreadCount() // roomに新規メッセージがついた場合 if (prevUnreadCount < unreadCount){ GM_notification("new message", "ChatWork", null, openChatWork); } prevUnreadCount = unreadCount; } }); }); observer.observe(roomList, { attributes : false, childList : true, characterData : false }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址