95

A simple bookmarklet to tweet the current page

 5 years ago
source link: https://www.tuicool.com/articles/ZRJ7NzU
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

I like tweeting about pages I read in the following format:

"Headline"

https://example.com

Most "share this" buttons add a lot of cruft and if there is none, it is annoying having to copy the text first and then the URL into Twitter.

With this bookmarklet, you can highlight some text, click the bookmarklet and get a tweet window in a new tab:

javascript:(function(){
  n = getSelection().anchorNode;
  t = n.nodeType === 3 ? n.data  : n.innerText;
  window.open(`https://twitter.com/intent/tweet?
               text="${encodeURIComponent(t+'"\n\n')}
               ${document.location.href}`); 
})();

Explanation:

  • We wrap the whole thing in an IIFE to avoid the browser redirecting to "javascript://"
  • We get the anchorNode of the current Selection object
  • We check the type. If it's a text node, we read the data , if it is HTML, we get the innerText
  • We open a window (which these days results in a new tab) and call the Twitter intend with the text followed by two linebreaks and the URL of the document.

That's it.

Here's the minified version to add to your bookmarks:

javascript:(function(){n=getSelection().anchorNode;t=n.nodeType===3?n.data:n.innerText;window.open(`https://twitter.com/intent/tweet?text="${encodeURIComponent(t+'"\n\n')}${document.location.href}`); })();)

Copy this, go to your bookmarks toolbar (change in view if it isn't visible), and set the location as the code above:

VJBryy6.jpg!web

Voilà, happy tweeting.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK