Show All News

Show News From All Pages

  1. // ==UserScript==
  2. // @name Show All News
  3. // @namespace https://greasyfork.org/en/users/37676
  4. // @description Show News From All Pages
  5. // @include /^https?:\/\/.*\.kompas\.com\/.*read\/.*$/
  6. // @match *://*.detik.com/*
  7. // @exclude *://*.detik.com/search*
  8. // @match *://*.tribunnews.com/*
  9. // @match *://*.grid.id/read/*
  10. // @match *://*.gridoto.com/read/*
  11. // @match *://*.inews.id/news/*
  12. // @match *://*.pikiran-rakyat.com/*
  13. // @run-at document-start
  14. // @version 1.1.1
  15. // @grant none
  16. // @noframes
  17. // @license Creative Commons Attribution 4.0 International Public License; http://creativecommons.org/licenses/by/4.0/
  18. // ==/UserScript==
  19.  
  20. var siteInfo = [
  21. ['kompas.com',[['page','all']],''],
  22. ['detik.com',[['page','all'],['single','1']],''],
  23. ['tribunnews.com',[['page','all']],''],
  24. ['grid.id',[['page','all']],''],
  25. ['gridoto.com',[['page','all']],''],
  26. ['inews.id',[],'/all'],
  27. ['pikiran-rakyat.com',[['page','all']],'']
  28. ];
  29.  
  30. var siteHost = window.location.hostname;
  31. var siteLength = siteInfo.length;
  32. var siteIndex = -1;
  33.  
  34. for(var i = 0; i < siteLength; i++)
  35. {
  36. if (siteHost.indexOf(siteInfo[i][0]) > -1)
  37. {
  38. siteIndex = i;
  39. break;
  40. }
  41. }
  42.  
  43. if (siteIndex > -1)
  44. {
  45. var link = new URL(window.location.href);
  46. var isRedirect = false;
  47. if (link)
  48. {
  49. var urlString = link.toString();
  50. var lastChar = urlString.charAt(urlString.length-1);
  51.  
  52. if (lastChar == '/')
  53. link.href = urlString.substring(0, urlString.length-1);
  54.  
  55. var urlParam = siteInfo[siteIndex][2];
  56. var arrayInfo = siteInfo[siteIndex][1];
  57. var infoLength = arrayInfo.length;
  58.  
  59. if (urlParam)
  60. {
  61. urlString = link.toString();
  62.  
  63. if (urlString.indexOf(urlParam) < 0)
  64. {
  65. link.href = urlString+urlParam;
  66. isRedirect = true;
  67. }
  68. }
  69.  
  70. for(var i = 0; i < infoLength; i++)
  71. {
  72. var pageParam = link.searchParams.get(arrayInfo[i][0]);
  73. if (pageParam)
  74. {
  75. if (pageParam != arrayInfo[i][1])
  76. isRedirect = true;
  77. }
  78. else
  79. isRedirect = true;
  80. if (isRedirect)
  81. link.searchParams.set(arrayInfo[i][0], arrayInfo[i][1]);
  82. }
  83.  
  84. if (isRedirect)
  85. window.location.replace(link.href);
  86. }
  87. }