Noscript Etiketi, Javascript desteklemeyen eski veya yetersiz web tarayıcıları için geliştirilmiş bir HTML etiketidir. Ziyaretçinin web tarayıcısı Javascript’i desteklemiyorsa veya tarayıcının Javascript desteği kapalıysa bizim belirttiğimiz kodlar işlenir. Eğer bu şartlardan biri sağlanmıyorsa belirttiğimiz kodlar işlenmez, görmezden gelinir ve javascript kodları çalışmaya devam eder.
Eğer noscript etiketini body içinde kullandıysak etiketlerin arasına script etiketi hariç dilediğimiz herhangi bir HTML etiketini yazabiliriz. Bu şekilde ziyaretçiye bir bilgilendirme mesajı gösterebilir veya onu başka bir sayfaya yönlendirebiliriz.
Noscript etiketi nasıl kullanılır?
<html> <head> <title>bilgi-sayar.net</title> <script type="text/javascript" src="bilgi.js"></script> <script type="text/javascript" src="sayar.js"></script> </head> <body> <noscript> Bu sayfanın doğru çalışabilmesi için Javascript gerekiyor. </noscript> </body> </html>
Eğer ziyaretçinin tarayıcısı Javascripti desteklemiyorsa ziyaretçiye “Bu sayfanın doğru çalışabilmesi için Javascript gerekiyor.” mesajı görüntülenecektir. Eğer tarayıcı Javascript’i destekliyorsa bu kısım işlenmeden sadece bilgi.js ve sayar.js isimli javascript dosyaları çağrılacaktır.
Aşağıdaki kodu kullanarak ziyaretçiyi tarayici_guncelle.html sayfasına yönlendirebiliriz.
<noscript> <meta http-equiv="refresh" content="0;url=tarayici_guncelle.html"> </noscript>
0 değeri yönlendirmenin sayfa yüklendikten sonra kaç saniye içinde yapılacağını belirtiyor.
Noscript etiketini nasıl test ederiz?
Test etmek için web tarayıcımızın Javascript desteğini kapatmamız gerekiyor. Google Chrome kullanıcıları için Javascript’in nasıl kapatıldığını kısaca anlatalım.
Google Chrome tarayıcısını kullananlar için Ayarlar/Gelişmiş/İçerik Ayarları/JavaScript kısmını İzin Verildi’den Engellendi’ye ayarlayabilirler. “Ayarlarda ara” kutucuğuna JavaScript yazarsanızda bu kısım direk karşınıza çıkacaktır.
Bu arada 2 küçük detay var,
HTML5’de noscript etiketi hem head hem de body tagları arasında kullanılabilir ama head etiketleri arasında kullandıysak noscript etiketlerinin arasında sadece link, style ve meta etiketlerini kullanabiliriz. body etiketleri arasında kullandıysak yukarıda belirttiğimiz gibi script etiketi hariç herhangi bir sınırlandırma yok.