Discuz记录已读帖

本地存储上次阅读的页数并提供直达链接

  1. // ==UserScript==
  2. // @name Discuz记录已读帖
  3. // @namespace saraba1st
  4. // @version 0.1
  5. // @description 本地存储上次阅读的页数并提供直达链接
  6. // @author saraba1st
  7. // @match *://*/*forum.php?mod=forumdisplay*
  8. // @match *://*/*forum.php?mod=viewthread*
  9. // @match *://*/*forum-*.html
  10. // @match *://*/*thread-*.html
  11. // @grant none
  12. // @require https://cdn.bootcss.com/store.js/1.3.20/store+json2.min.js
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. if (!store.enabled) {
  17. console.log('Local storage is not supported by your browser. Please disable "Private Mode", or upgrade to a modern browser.');
  18. }else{
  19. var lastread = store.get('lastread') ? store.get('lastread') : {};
  20. if(window.tid){
  21. var page = document.querySelector('#pgt > div > div > strong');
  22. page = page ? page.textContent : 1;
  23. lastread[window.tid] = page;
  24. store.set('lastread', lastread);
  25. }else{
  26. var table = document.getElementsByName('moderate')[0].children[2];
  27. if(table) {
  28. var tbodys = table.getElementsByTagName('tbody');
  29. for(i = 0;i < tbodys.length;i++) {
  30. var tbody = tbodys[i];
  31. var [ordertype, tid] = tbody.id.split('_');
  32. if(tid){
  33. var page = lastread[tid];
  34. if(page){
  35. var ele = document.createElement('a');
  36. ele.text = '上次阅读至第' + page + '页';
  37. var prevpage = document.querySelector('#pgt > div > strong');
  38. prevpage = prevpage ? prevpage.textContent : 1;
  39. if(document.querySelector('#' + tbody.id + ' a').href.indexOf("forum.php")!=-1){
  40. ele.href = 'forum.php?mod=viewthread&tid=' + tid + '&extra=page%3D' + prevpage + '&page=' + page;
  41. }else{
  42. ele.href = 'thread-' + tid + '-' + page + '-' + prevpage + '.html';
  43. }
  44. document.querySelector('#' + tbody.id + ' > tr > th').appendChild(ele);
  45. }
  46. }
  47. }
  48. }
  49. }
  50. }
  51. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址