Nasıl herhangi bir tarayıcının javascript durumunu alabilirim?

6 Cevap php

I want to get the javascript status of any browser. How do i get this.?

Sayfa yükleme bu tarayıcı bu javascript göstermek ne zaman gelir etkinleştirmek veya devre dışı bırakmak olduğunu.

Ben php kullanıyorum.

Önceden teşekkürler ......

6 Cevap

Javascript etiketi tarayıcılar etkin değil Mesajınızı ekleyin.

Örnek:

<noscript>
<p> Javascript is not enabled. Please enable it. <p>
</noscript>

Javascript sonra etkin değilse Yani yukarıdaki mesaj görüntülenir.

Eğer tarayıcı js çalışıyorsa, sunucu tarafında tespit etmek istiyorsanız - geri sunucuya sonucu ajax sonrası isteği gönderir tarayıcıda bazı test script çalıştırmak,

alternatif javascript bir cookie var

beklenen ile sonra karşılaştırın sonuçlanabilir.

Hafif overkill olabilir ama bu script fonksiyon jsTest çalıştırmayı dener olabilir. Çalıştırırsanız, bu etkin JavaScript div metni koyacaktır. O çalışmazsa JavaScript belirten metni devre dışı kalacaktır.

<html>
<head>
<script type="text/javascript">
function jsTest()
{
  var jsStatusDiv = document.getElementById("jsStatus");
  jsStatusDiv.innerHTML = "JavaScript Enabled";
}
</script>
</head>
<body onload="jsTest();">
<div id="jsStatus">JavaScript Disabled</div>
</body>
</html>

Body etiketi çağrı bir javascript fonksiyonu onload içinde. Bu işlev JS bu desteği etkin olduğu bir javascript değişken ayarlar. Varsayılan olarak JS devre dışı olduğunu varsayalım.

JavaScript JS aksi bir şey olmaz etkinse denilen alacak. Bu fonksiyonu ne istediğinizi görüntülemek için document.write kullanabilirsiniz.

Aklıma en orijinal yolu, HTML çıktısını bir PHP komut dosyası için bir AJAX isteği yapar, örneğin bir JavaScript işlev çağrısı, postbackDoesExecute (), jsCallback.php aramak sahip olmaktır. JsCallback.php AJAX isteği çağrıldığında, bu Javascript = true ya da bir şey ile (bunu uygulamak için tercih nasıl bağlı, ya da bir veritabanı girişi) kullanıcının oturumunu günceller. Bu girdi kayıtlı değilse, o istek ya da zaman aşımına uğradı veya postbackDoesExecute için JavaScript çağrısı () JavaScript etkin değil yani, asla açıktır.

Sadece bir düşünce ...

JavaScript durumuna bağlı olarak iki farklı durumları göstermek için uygulama gerekiyorsa, bir yarıda sayfa oluşturma gibi hacky bir şey deneyebilirsiniz.

Bu sayfa gibi bir şey içerecektir

<meta http-equiv="refresh" content="5;URL=mysite.php?js=0">
<script type="text/javascript">
  window.location.replace("mysite.php?js=1");
</script>

Bu farklı bir sayfaya bir sayfa ve diğerlerine Javascript ile insanları yönlendirir. Gerçi biraz hacky olduğunu.

Kullanıcıların bir giriş sayfası üzerinden giderseniz de giriş sayfanızda ekstra bir gizli alan olabilir:

<input id="hasJs" type="hidden" name="hasJs" value="">

Sonra

<script type="text/javascript">
  document.getElementById('hasJs').value = '1';
</script>

Hth Sorin