Push Me!



Create a file called NewWindows.js and add the following code to it:

  
  function addEvent( obj, type, fn ) {
   	if (obj.addEventListener)
    		obj.addEventListener( type, fn, false );
   	else if (obj.attachEvent) {
    		obj["e"+type+fn] = fn;
    		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
    		obj.attachEvent( "on"+type, obj[type+fn] );
   	}
  }
  
  function removeEvent( obj, type, fn ) {
   	if (obj.removeEventListener)
    		obj.removeEventListener( type, fn, false );
   	else if (obj.detachEvent) {
    		obj.detachEvent( "on"+type, obj[type+fn] );
    		obj[type+fn] = null;
    		obj["e"+type+fn] = null;
   	}
  }
  
  /* Create the new window */
  function openInNewWindow(e) {
   	var event;
   	if (!e) event = window.event;
   	else event = e;
   	// Abort if a modifier key is pressed
   	if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
    		return true;
   	} else {
   	 	// Change "_blank" to something like "newWindow" to load all links in the same new window
   	     var newWindow = window.open(this.getAttribute('href'), '_blank');
   		 if (newWindow) {
   			  if (newWindow.focus) {
   	 			  newWindow.focus();
   			 }
   			 return false;
   		 }
   		 return true;
   	}
  }
  
  /* Add the openInNewWindow function to the onclick event
     of links with a class name of "new-window" */
  
  function getNewWindowLinks() {
   	// Check that the browser is DOM compliant
   	if (document.getElementById && document.createElement && document.appendChild) {
    		// Change this to the text you want to use to alert the user that a new window will be opened
    		var strNewWindowAlert = " [ Clicking will open another window ]";
    		// Find all links
    		var links = document.getElementsByTagName('a');
    		var objWarningText;
    		var link;
    		for (var i = 0; i < links.length; i++) {
     			link = links[i];
     			// Find all links with a class name of "non-html"
     			if (/\bnon\-html\b/.test(link.className)) {
      				// Create an em element containing the new window warning text and insert it after the link text
      				objWarningText = document.createElement("em");
      				objWarningText.appendChild(document.createTextNode(strNewWindowAlert));
      				link.appendChild(objWarningText);
      				link.onclick = openInNewWindow;
     			}
    		}
    		objWarningText = null;
   	}
  }
  
  addEvent(window, 'load', getNewWindowLinks);

Add this to the <head> tags:

  <script type="text/javascript" src="NewWindows.js"></script>

Add this link inside the <body> tags:

  <a href="http://javascripts.com" class="non-html">Push Me!</a>