Back from the holidays, and back to my problem :) In short:
I want to go through all links on a page and, barring my array of exceptions, make all external links open in new windows without using the target attribute. In addition, the exception urls must be able to just contain the exception strings (using something like .match) and not have to be an exact match. In other words any urls within those domains will be exceptions. The http://www.nabble.com/Change-href-of-external-links-tf2718387.html#a7579373 previous thread I started got a lot of help, but required an exact match and started to go a bit over my head. So I've started fresh: $(function(){ var a = ($('a')); var intLink = ['mysite.com/','site1.com/','site2.com/','site3.com/']; // treat as internal for(i=0;i<a.length;i++){ for(n=0;n<intLink.length;n++){ var nLink = intLink[n]; if(!a[i].href.match(nLink)){ // treat as external //console.log(a[i].href); $(a[i]).bind('click', function(){ window.open(this.href); return false; }); } }; }; }); I've put all domains to be treated as internal in the var intLink, including the current domain (the site itself). Things look pretty good in Firefox - all the .binds appear to be successful - but the console doesn't always log all the links on the page that should be treated as external even thought the .bind works, so that's a little worrying. In IE6/7 I've got all kinds of weirdness happening, and seem to be getting nowhere. Appreciate it very much if anyone can have a look, or can think of a better way. Adam -- View this message in context: http://www.nabble.com/IE-woes-%28was-Exteranl-Links%29-tf2940328.html#a8221227 Sent from the JQuery mailing list archive at Nabble.com. _______________________________________________ jQuery mailing list [email protected] http://jquery.com/discuss/
