User login

JavaScript to open external sites (not on domain or subdomain) in new target

It's bad Web practice to open any links in a separate window, but it does help when going for an HTML mobile app and it's becoming accepted expected behavior for anything with a stream.

So here's the JavaScript:

  // Open external links in a new window or tab.
  var domain = window.location.hostname;
  domain = domain.substring(domain.indexOf('.') + 1);
  var not = '[href*="' + domain + '"]';
  $("a[href^='http']").not(not).attr('target','_blank');

From the commit log:

    Get current domain, open non-current in new
    
    But ignore subdomains.  This keeps people on Activore while browsing
    Activore but open non-Activore links in a new window.
    
    Note: As written it will also open "http://FAKEactivore.net" in the same
    window.  This was considered preferable to opening "http://activore.net"
    in a new window, and i deemed further checking needlessly complicated.
    
    Fixes #1736
    
    ... better, this time, as this works on test sites, which we really
    need.
Searched words: 
JQuery make links to outside web sites use a new tab or window JS get host javascript truncate string

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <small> <h2> <h3> <h4> <h5> <h6> <sub> <sup> <p> <br> <strike> <table> <tr> <td> <thead> <th> <tbody> <tt> <output>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.