Reddit - Open in Removeddit

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

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

// ==UserScript==
// @name           Reddit - Open in Removeddit
// @description    Open a post or comment's Removeddit page in a new tab
// @author         James Skinner <[email protected]> (http://github.com/spiralx)
// @namespace      http://spiralx.org/
// @version        2.1.0
// @icon64         data:image/png;base64,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
// @match          *://*.reddit.com/r/*/comments/*
// @grant          none
// @run-at         document-end
// @require        https://unpkg.com/jquery@3/dist/jquery.min.js
// ==/UserScript==

/**

## Changelog

#### 2.1.0 (03.07.2019)
* Shift-click on "[removed]" will open Removeddit for deleted comments

#### 2.0.0 (03.07.2019)
* Add Removeddit link to post buttons at top of page
* Changed name and description to match functionality
* Fixed icon metadata to use optimisied Reddit logo
* Minor tidying up of code
* Uploaded as a new user script to Greasyfork

#### 1.2.1 (03.06.2019)
* Merged with other copy of the script and updated the version to 1.2.1
* Added timeout before opening Removeddit to prevent a new window being opened

#### 1.2.0 (24.05.2019)
* Removed button in RES floating toolbar
* Holding shift when clicking perma-link on a comment opens it in Removeddit

#### 1.1.0 (11.09.2018)
* Add a "removeddit-link" to each comment

#### 1.0.0 (13.07.2018)
* Switched to watcher library instead of mutation-summary

#### 0.1.0 (19.06.2018)
* Initial version

## Notes

The original user script:

https://greasyfork.org/en/scripts/370257-reddit-add-removeddit-link

*/

/* jshint asi: true, esnext: true, laxbreak: true */
/* global jQuery */

; ($ => {
  'use strict'

  // --------------------------------------------------------------------

  function getRemovedditUrl (redditUrl) {
    const url = new URL(redditUrl)
    url.host = 'removeddit.com'
    return url.toString()
  }

  // --------------------------------------------------------------------

  function openRemoveddit (removedditUrl) {
    window.setTimeout(() => {
      window.open(removedditUrl, '_blank')
    }, 100)
  }

  // --------------------------------------------------------------------

  $(`.thing.link .buttons .first`).each(function () {
    const removedditUrl = getRemovedditUrl(this.children[ 0 ].href)

    $(`<li><a href="${removedditUrl}" target="_blank">removeddit</a></li>`)
      .insertAfter(this)
  })

  // --------------------------------------------------------------------

  $('body')
    .on('click', 'a[data-event-action = "permalink"]', function (event) {
      if (!event.shiftKey) {
        return
      }

      openRemoveddit(getRemovedditUrl(this.href))

      return false
    })
    .on('click', '.thing.deleted > .entry > .usertext', function (event) {
      if (!event.shiftKey) {
        return
      }

      const permalink = location.origin + $(this).closest('.thing').data('permalink')

      openRemoveddit(getRemovedditUrl(permalink))

      return false
    })

})(jQuery)

jQuery.noConflict(true)