您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
track threads on rym :o
当前为
// ==UserScript== // @name RYM: Message Boards; Track Threads // @version 0.52 // @description track threads on rym :o // @include http://rateyourmusic.com/boards* // @include http://rateyourmusic.com/board_new_message* // @include https://rateyourmusic.com/boards* // @include https://rateyourmusic.com/board_new_message* // @copyright 2012+, Drewbacca // @name RYM: Message Boards; Track Threads // @namespace https://greasyfork.org/users/2625 // ==/UserScript== var $ = unsafeWindow.jQuery; var username = $('#navtop li:nth-child(6) a').html(); var threadsTracked = GM_getValue('threadsTracked'); if (threadsTracked == undefined){threadsTracked = ''} function addThread(threadId) { var row = document.getElementById(threadId); var addButton = row.getElementsByTagName('a')[0]; var threadTitle = row.getElementsByTagName('a')[1]; if (threadsTracked.indexOf(threadId) >= 0) { addButton.innerHTML = '+'; threadsTracked = threadsTracked.replace(threadId + ',', ''); GM_deleteValue(threadId); } else { addButton.innerHTML = '-'; threadsTracked = threadsTracked + threadId + ','; threadCount = row.getElementsByTagName('td')[3].innerHTML.replace(',',''); GM_setValue(threadId, threadCount); } GM_setValue('threadsTracked', threadsTracked); } function updateCount(threadId){ thread = document.getElementById(threadId); threadCount = thread.getElementsByTagName('td')[3].innerHTML.replace(',',''); GM_setValue(threadId, threadCount); } var threadTemplate = 'http://rateyourmusic.com/board_message?message_id='; if (document.URL.indexOf("/boards") > 0){ var rows = document.getElementsByClassName('mbgen')[0].getElementsByTagName('tr'); for (r = 1; r < rows.length; r++) { threadTitle = rows[r].getElementsByTagName('a')[0]; if (threadTitle != undefined) { threadId = threadTitle.href.split('=')[1]; rows[r].id = threadId; x = document.createElement('a'); x.innerHTML = '+'; x.setAttribute('href', 'javascript:void(0);'); threadTitle.parentNode.insertBefore(x, threadTitle.parentNode.firstChild); if (threadsTracked.indexOf(threadId + ',') >= 0) { threadCount = GM_getValue(threadId); if (threadCount == undefined){ threadCount = rows[r].getElementsByTagName('td')[3].innerHTML.replace(',',''); GM_setValue(threadId, threadCount); } threadCountNew = parseInt(rows[r].getElementsByTagName('td')[3].innerHTML.replace(',','')); countDif = threadCountNew - parseInt(threadCount); if (countDif > 0 && rows[r].getElementsByTagName('td')[2].getElementsByTagName('a')[0].innerHTML != username){ count = document.createElement('a'); count.innerHTML = '+'+countDif; count.href = threadTitle.href+'&start='+ (parseInt(threadCount)+1)+'&show=200'; threadTitle.parentNode.insertBefore(count, threadTitle.nextSibling); threadTitle.parentNode.insertBefore(document.createTextNode(' '), threadTitle.nextSibling); y = document.createElement('b'); y.innerHTML = threadTitle.innerHTML; threadTitle.innerHTML = ''; threadTitle.appendChild(y); links = rows[r].getElementsByTagName('a'); for (i=1; i<links.length; i++){ links[i].addEventListener('click', (function (n) { return function (e) { updateCount(n); this.removeEventListener('click',arguments.callee,false); }; })(threadId), false); links[i].addEventListener('contextmenu', (function (n) { return function (e) { updateCount(n); this.removeEventListener('click',arguments.callee,false); }; })(threadId), false); } } else if (countDif < 0){updateCount(threadId)} x.innerHTML = '-'; } x.addEventListener('click', (function (n){return function (e){addThread(n)}})(threadId), false); } } } else { threadId = document.URL.split('thread_id=')[1].split('&')[0]; if (1 == 4 && threadsTracked.indexOf(threadId) < 0){ $('input[value="Post Now >"]').bind('click', function(){ $('input[value="Post Now >"]').get(0).click(); threadsTracked = threadsTracked + threadId + ','; GM_setValue('threadsTracked', threadsTracked); }, false) } }