Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #31073
| Newsgroups | comp.lang.javascript |
|---|---|
| Date | 2016-08-05 01:34 -0700 |
| References | <f6247ab2-1ae8-4753-81ed-f5b2fcdf7944@googlegroups.com> <59e0b44d-8ea8-431d-ae12-e7585917f23f@googlegroups.com> <8737mku9we.fsf@bsb.me.uk> <7956cde6-c641-485f-9144-e7ce529f0cd8@googlegroups.com> <87wpjwsj4w.fsf@bsb.me.uk> |
| Message-ID | <56528385-a0f0-4b95-b138-830a6ad9beec@googlegroups.com> (permalink) |
| Subject | Re: Open all links in new window |
| From | Chandramohan Akkoni <csakkoni@gmail.com> |
On Thursday, August 4, 2016 at 7:58:53 PM UTC+5:30, Ben Bacarisse wrote:
> Chandramohan Akkoni <csakkoni@gmail.com> writes:
>
> > On Thursday, August 4, 2016 at 3:35:28 PM UTC+5:30, Ben Bacarisse wrote:
> >> Chandramohan Akkoni <csakkoni@gmail.com> writes:
> >>
> >> > On Wednesday, July 27, 2016 at 2:15:10 PM UTC+5:30, Chandramohan
> >> > Akkoni wrote:
> >> >> Dear Friends,
> >> >>
> >> >> I have a website www.xyzabc.com (dummy site mentioned) and on the
> >> >> tutorials web page I have 100+ urls. Few assets are linked to my
> >> >> site and few are 3rd party links. I need a script which excludes my
> >> >> links and all 3rd party links are opened in a new tab even if I do
> >> >> not add target="_blank" or onclick().The Code should not be applied
> >> >> manually on all links, it should be one simple code.
> >> >>
> >> >> Thanks in advance.
> >> >>
> >> >> Thanks,
> >> >> Chandramohan
> >> >
> >> > I have the below code which work for small caps .pdf but does not work for .PDF and also I'm unable to check for .doc, .docx, etc.
> >> >
> >> > ----------------------------------------------------------------
> >> > var pdfAnchors = document.querySelectorAll("a[href$='.pdf']");
> >> > for(var i = 0; i < pdfAnchors.length; i++) {
> >> > pdfAnchors[i].target = pdfAnchors[i].target || "_blank";
> >> > }
> >> >
> >> > ----------------------------------------------------------------
> >> > Could you please check and get me the solution.
> >>
> >> The most flexible solution is to go back to the regular expression
> >> example (i.e. not using document.querySelectorAll) and change the match
> >> to include all the links you care about. You can match them all in one
> >> expression something like /^http|\.(pdf|doc|docx)$/i (untested).
> >>
> >> But if you can rely on up-to-date browser support, you can use case
> >> insensitive CSS attribute matching introduced in CSS4:
> >>
> >> a[href$='.pdf' i]
> >>
> >> which you'd combine with either having multiple (comma separated)
> >> selectors in querySelectorAll, or making multiple calls to the function.
> >
> > Thanks, this is working fine for small and big caps, but its unable to
> > take the link that are appended with some ?src codes, which we use for
> > analytics.
>
> It seems the first question was the tip of an iceberg -- no not just
> external links but links and pdfs and docs. No, not just pdfs but in
> any case. No, not just those but something else using ?src= as well.
>
> Each refinement has the potential of making the current solution less
> that idea. As some point another approach may well be better, so it
> would help if you can back up and list, as best you can, the full set of
> elements you want to find. Take care that there may also be elements
> you *don't* want to include despite them sharing some pattern in common
> with those you do.
>
> > Can anything be do this "a[href$='.pdf' i]", I tried adding /g after
> > i, and its not opening in a new window.
>
> I am sure something can be done but "link that are appended with some
> ?src codes" is a bit vague. A wild guess suggests you might want to add
> another selector, maybe like this:
>
> "a[href$='.pdf' i], a[href~='src=']".
>
> Have you read:
>
> https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_started/Selectors
>
> and
>
> https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll
>
> ?
> --
> Ben.
Dear Friends,
One last request.
Currently I have the below code which makes the external web page links open in a new window.
if (thelink.indexOf("http://www.google.co.in/" || "http://www.facebook.com/") !== 0){
linkarray.target = "_blank";
}
All the internal micro-sites are also opening on a new tab, which should happen. Example:
http://books.google.co.in/
http://developers.facebook.com/
Can these micro-sites also open in the same window. It should not be the repeat of above code keeping condition ===0 -> linkarray.target = "_self";
:)
Thanks,
Chandramohan
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Open all links in new window csakkoni@gmail.com - 2016-07-27 01:44 -0700
Re: Open all links in new window JJ <jj4public@vfemail.net> - 2016-07-27 17:40 +0700
Re: Open all links in new window Flng Fck <nothanks@invalid.invalid> - 2016-07-27 15:21 +0200
Re: Open all links in new window csakkoni@gmail.com - 2016-07-27 23:33 -0700
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-07-28 11:02 +0200
Re: Open all links in new window wmgill <webworker1950@gmail.com> - 2016-08-14 14:23 -0400
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-08-14 23:31 +0200
Re: Open all links in new window wmgill <webworker1950@gmail.com> - 2016-08-14 17:43 -0400
Re: Open all links in new window Robert Baer <robertbaer@localnet.com> - 2016-08-18 16:11 -0800
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-08-19 11:52 +0200
Re: Open all links in new window wmgill <webworker1950@gmail.com> - 2016-08-20 01:08 -0400
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-08-20 09:15 +0200
Re: Open all links in new window wmgill <webworker1950@gmail.com> - 2016-08-20 12:09 -0400
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-08-20 21:50 +0200
Re: Open all links in new window $Bill <news@todbe.com> - 2016-08-20 17:21 -0700
Re: Open all links in new window "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2016-08-20 19:48 -0700
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-08-21 09:42 +0200
Re: Open all links in new window Andrew Poulos <ap_prog@hotmail.com> - 2016-08-21 19:29 +1000
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-08-22 00:44 +0200
Re: Open all links in new window Dr J R Stockton <reply1600@merlyn.demon.co.uk.invalid> - 2016-08-22 21:58 +0100
Re: Open all links in new window $Bill <news@todbe.com> - 2016-08-22 21:52 -0700
Re: Open all links in new window "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2016-08-23 12:23 +0200
Re: Open all links in new window Scott Sauyet <scott@sauyet.com> - 2016-09-03 19:55 +0000
Re: Open all links in new window Chandramohan Akkoni <csakkoni@gmail.com> - 2016-08-03 22:28 -0700
Re: Open all links in new window Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-04 11:05 +0100
Re: Open all links in new window Chandramohan Akkoni <csakkoni@gmail.com> - 2016-08-04 03:46 -0700
Re: Open all links in new window Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-04 15:28 +0100
Re: Open all links in new window Chandramohan Akkoni <csakkoni@gmail.com> - 2016-08-05 01:34 -0700
Re: Open all links in new window Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-05 10:49 +0100
Re: Open all links in new window Chandramohan Akkoni <csakkoni@gmail.com> - 2016-08-05 02:56 -0700
Re: Open all links in new window Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-05 15:08 +0100
Re: Open all links in new window Chandra <csakkoni@gmail.com> - 2016-08-05 09:44 -0700
Re: Open all links in new window Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-05 21:26 +0100
csiph-web