Reddit - Open in Removeddit

Open a post or comment's Removeddit page in a new tab

目前为 2019-07-03 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name Reddit - Open in Removeddit
  3. // @description Open a post or comment's Removeddit page in a new tab
  4. // @author James Skinner <spiralx@gmail.com> (http://github.com/spiralx)
  5. // @namespace http://spiralx.org/
  6. // @version 2.0.0
  7. // @icon64 data:image/png;base64,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
  8. // @match *://*.reddit.com/r/*/comments/*
  9. // @grant none
  10. // @run-at document-end
  11. // @require https://unpkg.com/jquery@3/dist/jquery.min.js
  12. // ==/UserScript==
  13.  
  14. /**
  15.  
  16. ## Changelog
  17.  
  18. #### 2.0.0 (03.07.2019)
  19. * Add Removeddit link to post buttons at top of page
  20. * Changed name and description to match functionality
  21. * Fixed icon metadata to use optimisied Reddit logo
  22. * Minor tidying up of code
  23. * Uploaded as a new user script to Greasyfork
  24.  
  25. #### 1.2.1 (03.06.2019)
  26. * Merged with other copy of the script and updated the version to 1.2.1
  27. * Added timeout before opening Removeddit to prevent a new window being opened
  28.  
  29. #### 1.2.0 (24.05.2019)
  30. * Removed button in RES floating toolbar
  31. * Holding shift when clicking perma-link on a comment opens it in Removeddit
  32.  
  33. #### 1.1.0 (11.09.2018)
  34. * Add a "removeddit-link" to each comment
  35.  
  36. #### 1.0.0 (13.07.2018)
  37. * Switched to watcher library instead of mutation-summary
  38.  
  39. #### 0.1.0 (19.06.2018)
  40. * Initial version
  41.  
  42. ## Notes
  43.  
  44. The original user script:
  45.  
  46. https://greasyfork.org/en/scripts/370257-reddit-add-removeddit-link
  47.  
  48. */
  49.  
  50. /* jshint asi: true, esnext: true, laxbreak: true */
  51. /* global jQuery */
  52.  
  53. ; ($ => {
  54. 'use strict'
  55.  
  56. // --------------------------------------------------------------------
  57.  
  58. function getRemovedditUrl (redditUrl) {
  59. const url = new URL(redditUrl)
  60. url.host = 'removeddit.com'
  61. return url.toString()
  62. }
  63.  
  64. // --------------------------------------------------------------------
  65.  
  66. $(`.thing.link .buttons .first`).each(function () {
  67. const removedditUrl = getRemovedditUrl(this.children[ 0 ].href)
  68.  
  69. $(`<li><a href="${removedditUrl}" target="_blank">removeddit</a></li>`)
  70. .insertAfter(this)
  71. })
  72.  
  73. // --------------------------------------------------------------------
  74.  
  75. $('body').on('click', 'a[data-event-action = "permalink"]', function (event) {
  76. if (!event.shiftKey) {
  77. return
  78. }
  79.  
  80. const removedditUrl = getRemovedditUrl(this.href)
  81.  
  82. window.setTimeout(() => {
  83. window.open(removedditUrl, '_blank')
  84. }, 100)
  85.  
  86. return false
  87. })
  88. })(jQuery)
  89.  
  90. jQuery.noConflict(true)