rel=external kullanımı

W3C Web standartları gün geçtikçe ilerliyor ve eskiye oranla standartlar biraz daha "standart" halini alıyor... Sanırım, hâl böyle olunca nereya saldıracaklarını ÅŸaşırıp a taginin target attribute'ünü standartlar arasından kaldırmışlar - daha doÄŸrusu SEO standartlarından kaldırmışlar... Bunun yerine artık rel attribute'una "external" atamamız önerilmiÅŸ fakat tarayıcılar externalları otomatik olarak yeni sekme/pencerede açmıyor.

Çözüm olarak a taglerinde, rel external olanlara javascript ile target="_blank" verebilirsiniz. Ben jQuery ile yapıp örnek olarak aÅŸağıya yazdım. Yalın javascript ile de bol miktarda örnek bulabilirsiniz...

<script type="text/javascript">
	$(document).ready(function() {
		$("a[rel~=external]").attr("target", "_blank");
	});
</script>

 

Ben her seferinde "rel=external" ekleyemem diyenler için kod:

<script type="text/javascript">
	$(document).ready(function() {
		$("a[href^=http]:not([rel~=external])").attr("rel","external");
		$("a[rel~=external]").attr("target", "_blank");
	});
</script>

 

E yapmışken bir de dışarı açılan baÄŸlantıların yanında icon çıksın isteyenler için CSS:

a[rel~=external] {
	display: inline-block;
	background: url(external.png) no-repeat 100% 50%;
	padding-right: 12px;
	margin-right: 4px;
}

Not: CSS IE6 da çalışmaz - gerçi IE6 kullanan varsa kendini öldürsün...

Kolay gelsin ;)