apg29Medlem sedan nov. 200584 inlägg Jag undrar helt enkelt om det finns ett litet smart script eller funktion som gör att alla externa länkar på en webbsida öppnas i ett nytt fönster? De interna länkarna ska öppnas som vanligt.
Ja, jag vet att man kan skriva target=_blank om man vill öppna i ett nytt fönster direkt i länken, men vad jag vill är att slippa göra det.
Finns det någon sådan funktion eller är jag ute och cyklar? :OO
apg29Medlem sedan nov. 200584 inlägg Ingen som har något tips? :OO
Hur ser dina länkar ut som länkar "internt"? är det alla href som börja med http, då är det inga direkta svårigheter kan jag tänka mig att göra så att den öppnar i ett nytt fönster.
bossseMedlem sedan juni 2003718 inlägg Tja, du kan väl kolla detta då!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function m_addLoadEvent(func)
{ var oldOnload = window.onload;
if (typeof window.onload != "function") {
window.onload = func;}
else {window.onload = function() {oldOnload();func(); } } }
function m_externalLinks() {
if (typeof document.getElementsByTagName == "undefined")
{return; }
var anchors = document.getElementsByTagName("a");
var mesg = "(this link opens in a new window)";
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
var rel = "" + anchor.getAttribute("rel");
if ( typeof anchor.hostname != "undefined"
&& typeof anchor.protocol != "undefined"
&& anchor.protocol.indexOf("javascript") < 0
&& ( ( rel.length > 0
&& rel.indexOf("blank") >= 0
) || ( ( rel.length == 0
|| rel.indexOf("self") < 0
) && anchor.hostname != document.location.hostname
) ) ) { anchor.target = "_blank";
if (typeof anchor.title != "undefined") {
anchor.title = (anchor.title ? anchor.title + " " : "") + mesg;
}
else { anchor.title = mesg; } } } }
m_addLoadEvent(m_externalLinks);
</script>
</head>
<body>
<a href="http://www.google.se">Google</a> Extern
<br><br>
<a href="http://www.yahoo.se">Yahoo</a> Extern
<br><br>
<a href="dinsida1.htm">Din egen sida 1 </a> Intern
<br><br>
<a href="dinsida2.htm">Din egen sida 2 </a> Intern
</body>
</html>
yadorMedlem sedan mars 2004457 inlägg Kanske såhär:
<script type="text/javascript">
window.onload = function()
{
for(i=0;i<document.links.length;i++)
if(document.links[i].href.substr(0,7) == "http://" && document.links[i].href.toString().indexOf("minhemsida.se") < 0)
document.links[i].target = "_blank";
}
</script>
Fungerar det?
apg29Medlem sedan nov. 200584 inlägg Tack för de fina tipsen, bosse och yador. Ska kolla det dirrekt om det funkar. voigtann1: Såg inte din fråga förrän nu.
apg29Medlem sedan nov. 200584 inlägg Det funkar! Av någon anledning så fastnade jag för yadors skript. Enkelt och smidigt och bra! Tack så mycket för hjälpen!
Nu missförstår jag säkert frågan men räcker det inte med:
<html>
<head>
<title></title>
[red]<base target="window2">[/red]
</head>
<body>
<li> <a href="http://mattiasNordin.net/web08/">Öppna denna länk i fönster 2</a>
<li> <a href="http://mattiasNordin.net/web08/">Öppna denna länk i fönster 2</a>
<li> <a href="http://mattiasNordin.net/web08/">Öppna denna länk i fönster 2</a>
</body>
</html>
RED: SORRY missade att det inte gällde alla länkar. / M
bossseMedlem sedan juni 2003718 inlägg Kollade scripten ovan och tyvärr så funkar inget av de tre förslagen i Firefox.
apg29Medlem sedan nov. 200584 inlägg yadors script funkade i Firefox 3.