Force External Links to Open in a New Window Using JQuery

headmaster @ 11:15 pm


jQery LogoI’m using an RSS feed script to import news feeds into on one of my sites. The problem is that the RSS links open by default on the current window. Instead I want the RSS links to open in a new window only. That is, all external links on the page need to open as _blank. And all internal links (links to current site) should open in the current window.

It seems this is something that should be part of the RSS script, unfortunately the script I’m using does not have that functionality. Or at least not in an easily configurable way that I could find.

Having no time to delve into the innards of the RSS script instead I opted to override the links behavior using JQuery. See the solution below.

JQuery to the Rescue!

The solution:

   <script type="text/javascript" src="../js/jquery-1.6.3.min.js"></script>
   <script>
$(document).ready(function() { 
	$("a[href^=http]").click(function(){ //find the links pointing to a URL
		if(this.href.indexOf(location.hostname) == -1) { //check if they point outside 
			window.open( $(this).attr('href') ); //force open the new window
	 return false; } 
	}); 
});
</script>




Ajax CSS CSS gradients CSS rounded corners CSS Style Sheets CSS Transparency error Failed Evaluations footer header image gallery JavaScript javaScript JavaScript Errors jQuery jquery Lightbox light box links open source PHP PHP PHP scripts Pretty Photo prettyPhoto Programming Languages Script Evaluations Search Engine Optimization StatusNet StatusNet themes templates themes Useful CSS Code Useful WordPress Code Web Applications Web Design Web Development Webmaster Toolbelt WordPress wordpress Word Press WordPress 3.3.2 word press links WordPress Plugins wordpress theme
  • Digital Goodies