Skip to main content

Blogger Tweak - Open external links in new tab automatically

So, once upon a time, a really long while ago, I tried to customise and recreate a Blogger template which is not available anymore, but there's one thing I remember about it. I had a jQuery code written to make all the external links open in new tab. I also thought, it's about time I revive that idea and write a more intact code and here we go. 

So, there are two things to do. 

  1. Add Javascript code that detects external links and opens them in new tab.
  2. Add a CSS code to let users know that a particular link is going to be opened in new tab.

Adding a javascript code

Please follow the instructions below,
  1. Go to https://blogger.com dashboard
  2. Navigate to Themes > click the down arrow near "Customize" and then click on Edit HTML.


  3. Now scroll to the very end and paste the following code just before </body> tag.
    <script type='text/javascript'>
    document.body.addEventListener(&quot;mousedown&quot;,function(event){
          if(event.target.tagName === &quot;A&quot;){
          if(!event.target.href.includes(&quot;krishnainfotron&quot;) &amp;&amp; event.target.href.startsWith(&quot;http&quot;)){
          event.target.setAttribute(&quot;target&quot;,&quot;_blank&quot;);
          }
          }
          },true);
        </script>
  4. The code above should look like,


  5. Here, please replace krishnainfotron with the keyword that your blogspot and custom domain have in common. For example, my blogspot address is https://krishnainfotron.blogspot.com and my custom domain address is https://howtoblog.krishnainfotron.com. Since both of them have krishnainfotron in common, I have added that as keyword so that both blogspot and custom domain links in my blog will be detected as own link and open others in a new tab. 
  6. Once done, please click on the floppy icon at the top right which indicates Save.


Now, your blog will open all external links in new tab. Please test it out. Let's move on to the second part of the article,

Adding a CSS code

This CSS code is to show an indication that it's an external link and will open link in new tab. Please follow the instructions below,
  1. Go to https://blogger.com > Themes > Customize
  2. In the left, click on Advanced > In the appearing dropdown, choose "Add CSS"



  3. In the appearing text box, please paste the following code,
    a[href]:not([href*="krishnainfotron"]):not([href*="bp.blogspot"]):not([href*="blogger.com"]):not([href*="googleusercontent"]):not([href=""]):not([href^="/"]):not([href*="javascript"])::after {
    content: "";
    background-image: url('https://static.thenounproject.com/png/299638-200.png');
    background-size: 15px;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 5px;
    margin-right: 5px;
    bottom: 0px;
    }
  4. Here, again please change your blog's keyword. The rest of the restrictions are to ignore image links, blogger original links etc., Although they will be opening in new tab, we don't indicate them for neatness.
  5. Click the floppy icon in the bottom right that represents save.


  6. Now you can see external links in my blog having a "Open in new tab" icon nearby as shown below,


Being all that done, it should be sufficient for opening external links in new tab at lowest code cost. Happy blogging everyone.

Please note that the image is taken from thenounproject.com with creative commons licence and it is best to give attribution for using it like I have given in my right side bar using a HTML/Javascript gadget,
(P.S - If at all do you face any problems like some links that are not supposed to open in new tab opens etc., please comment on this article so that I can check and rectify it)

See related posts:

Comments

  1. helpful but... it's opening all the links in new tab now. I mean even the links which leads to a blogpost of the same blog. It's a problem. please reply me how can I solve it. Thank you

    ReplyDelete
    Replies
    1. It might be too late that you figured out the issue but am happy to help if you could create new thread at the blogger help forum -> https://support.google.com/blogger/thread/new

      Delete

Post a Comment

People also read,

How to secure your Google account and Blogger blog?

As a part of contributions to NCSAM, I am writing this article down on what all should we be aware of with respect to Google's security aspect and how to make sure your blog stays yours forever. What is NCSAM? It's National Cyber Security Awareness Month which is observed during the month of October every year in America. However, we all know cyber security is a world topic and is not limited to just the USA. So let me give some tips with respect to keeping the Google account safe and Blogger blogs safe from hackers. As I secure my account, I hope you people catch up too. In this blog post, I am going to tell about the following, Securing your Google account. Securing your Blogger blog. Securing your Google account Since Blogger is also part of your Google account, let's first see what all we need to do to keep our Google account safe. Don't share your password to anyone. Keep changing your password every 60 - 90 days. Make sure your password is str

Blogger custom domain confusions - Check before you buy

In the Blogger community forum, I happened to help a user who was not able to publish their blogspot address to their custom domain. After doing all the debugging, there was no option left out but to contact Google and finally we have known what the problem is. The problem was that the URL was not available for use in blogger.  Here on, before spending money on buying a domain, please ensure blogger allows it. Why isn't the custom domain available to buy but not available to use on Blogger? That'd be the first question every user would ask or think to ask. Unfortunately reason is un-disclosed by Blogger themselves.  So how do we know if a domain is available at Blogger or not? Earlier, there used to be no way we could do this as Blogger would throw a more generic error like below, Now, we get a more customised error for this particular case alone like below, So, here on, before spending money on buying a domain, please try publishing your blog in the domain name you are plannin