A simple bookmarklet to tweet the current page

Christian Heilmann - Aug 23 '19 - - Dev Community

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;t=''+t+'\\n\\n';
  window.open(`https://twitter.com/intent/tweet?
  text=${encodeURIComponent(t)}${document.location.href}`)
})()
Enter fullscreen mode Exit fullscreen mode

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;t='“'+t+'”\\n\\n';window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(t)}${document.location.href}`)})()
Enter fullscreen mode Exit fullscreen mode

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

Bookmark settings

Alternatively, go to the post on my blog (as dev.to disallows javascript: links) and drag the "tweet this" link to your toolbar.

Voilà, happy tweeting.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player