Seite 1 von 1

Externe URLs in neuem Fenster

Verfasst: 08.05.2012 00:00
von the_zoker_09
Hallo zusammen,

Ich möchte bestimmte URLs in einem "neuem Fenster" öffnen.

Board interne URLs sollen im gleichen Fenster geöffnet werden und Board externe URLs (die also auf eine externe Seite führen), sollen in einem neuen Fenster geöffnet werden.

Wie kann ich das am besten umsetzten?

Vielen Dank
the_zoker_09

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 00:20
von Perlchamp
Hi,
z.B mit Javascript und css:
Javascript in den Header:

Code: Alles auswählen

function selectCode(a)
{
	// Get ID of code block
	var e = a.parentNode.parentNode.getElementsByTagName('PRE')[0];

	// Not IE and IE9+
	if (window.getSelection)
	{
		var s = window.getSelection();
		// Safari
		if (s.setBaseAndExtent)
		{
			s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
		}
		// Firefox and Opera
		else
		{
			// workaround for bug # 42885
			if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) == '<BR>')
			{
				e.innerHTML = e.innerHTML + '&nbsp;';
			}

			var r = document.createRange();
			r.selectNodeContents(e);
			s.removeAllRanges();
			s.addRange(r);
		}
	}
	// Some older browsers
	else if (document.getSelection)
	{
		var s = document.getSelection();
		var r = document.createRange();
		r.selectNodeContents(e);
		s.removeAllRanges();
		s.addRange(r);
	}
	// IE
	else if (document.selection)
	{
		var r = document.body.createTextRange();
		r.moveToElementText(e);
		r.select();
	}
}
window.onload = externalLinks;

function externalLinks() {
  if(!document.getElementsByTagName) return;
  var links,a,i;
  links = document.getElementsByTagName("a");
  for(i=0;i<links.length;i++) {
    a = links[i];
    if(a.getAttribute("rel") && a.getAttribute("rel").indexOf("external") > -1) {
      a.onclick = function() {
        window.open(this.href);
      	return false;
   	  }
    }
  }
}
im css:
a[rel~="external"]
{
target-new: tab;
}

und im HTML:
<a href="..." rel="extrenal">...</a>

Viel Glück
so long

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 00:29
von the_zoker_09
Vielen Dank.

Aber ich dachte eher an eine Lösung wie:

Code: Alles auswählen

<!-- IF URL_INTERN --><a href=""></a><!-- ENDIF -->
<!-- IF URL_EXTERN --><a href="" target="_blank"></a><!-- ENDIF -->
Gibt es so etwas in der Art?
Das würde die Sache einfacher machen.

Was genau bewirkt den dein javascript code?

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 06:07
von WileCoyote
the_zoker_09 hat geschrieben:Board interne URLs sollen im gleichen Fenster geöffnet werden und Board externe URLs (die also auf eine externe Seite führen), sollen in einem neuen Fenster geöffnet werden.
Die MOD Prime Links macht genau das. Der Einbau geht sehr schnell da nur eine Datei editiert werden muss und sonst nur Dateien auf den Webspace kopiert werden.

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 07:16
von the_zoker_09
Funktioniert perfekt :D

Danke

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 13:52
von Perlchamp
@WileCoyote,
target ist veraltet und NICHT xhtml1- valide.

so long

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 13:56
von WileCoyote
Perlchamp hat geschrieben:target ist veraltet und NICHT xhtml1- valide.
Sollte das bei der MOD der Fall sein, ist der Hinweis beim MOD-Autor besser aufgehoben. Allerdings konnte ich bisher keine xhtml-strict Probleme mit der MOD feststellen.

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 15:13
von dieter99
Perlchamp hat geschrieben:target ist veraltet und NICHT xhtml1- valide.
Darf ich fragen, warum es ein Problem ist, wenn ein Code nicht "xhtml1 - valide" ist???
"target" kann doch jeder Browser. Wo ist nun der Hacken?

Re: Externe URLs in neuem Fenster

Verfasst: 08.05.2012 16:51
von Perlchamp
Hi,
guckst du h i e r

so long