Javascript üzerinde olup olmadığını tespit php miyim?

4 Cevap php

Ben dinamik olarak oluşturulan bir sayfa var.

Şimdi ajax fonksiyonu eklemek istiyorum, bu yüzden deyim çıkışlarını değiştirmek için eğer eklemek istiyorum.

if(js is on){
 ...
 ... 
 echo "js is on";
}else{
...
echo "js is off";
}

Js php ile ilgili olup olmadığını algılamak herhangi bir yolu var mı?

Ya jquery bunu gizlemek / kaldırabilirsiniz herhangi bir yolu var mı?

Şimdiden teşekkürler.

4 Cevap

PHP herhangi bir tarayıcı eylem gerçekleşmeden önce yürütülür, böylece hiçbir PHP doğrudan kullanıcının açık veya kapalı Javascript olup olmadığını tespit edemez.

Sen bize bir çözüm bulmak için ne yaptığınızı hakkında biraz daha bilgi sağlamalıdır. PHP, bu çağrı jQuery otomatik olarak ayarlanır olacak $_SERVER['X_HTTP_REQUESTED_WITH'] global değişken kullanarak AJAX veya yapılmış olup olmadığını tespit etmek mümkündür.

Javascript olduğunda bir eleman göstermek gerekiyorsa, ilk olarak CSS ile eleman gizlemek ve JavaScript / jQuery ile etkinleştirebilirsiniz. Aynı zamanda başka bir yol etrafında gider.

Sayfa bildiğiniz zaman işlenir çünkü PHP bunu yapamazsınız. Ve dışında bazı çılgın yönlendirme senaryo, en iyi bahis ne gerek show / hide CSS + JS kullanmak olabilir:

Ben normalde (ve sizin kilometre size göstermek / gizlemek için gereken ne bağlı olarak değişebilir) Bu ne:

<html>
   <head>
      ... other stuff here, title, meta, etc ...

      <script type="text/javascript">document.documentElement.className += " js"</script>

      ... everything else
   </head>

Sonra JavaScript etkin / devre dışı olup olmadığını dayalı / göstermek gizlemek için CSS kullanabilirsiniz:

/* Hide by default, show if JS is enabled */
#needsJS     { display: none  }
.js #needsJS { display: block }

/* Show by default, hide if JS is enabled */
.js #fallback { display: none }

Bunu doğrudan yapamaz, ve bunun için geçici çözümler genellikle garip ve savurgan.

Yerine ilerici geliştirme tekniği kullanın.

Sadece web sitesi JS olmadan çalışma yapmak. Her şey yolunda ise, örneğin JS işlevsellik ekleyebilirsiniz jQuery.

Bu da denir unobtrusive JavaScript.

Yani temelde JS olmadan JS ile istemci ve istemci arasında ayrım yoktur. Farklı çıkış vermemektedir. Eğer kolayca unsurları tanımlamak için böyle bir şekilde HTML kodunu kurmak olduğunu JS işlevselliği bir programlı bir şekilde bu işlevi gerekir.

Bu şekilde farklı çıkışlara düşünmek zorunda değilsiniz olarak sizin için daha kolay ve site de JS olmadan çalışmakta olduğunu garanti eder.