php能否检测javascript是否开启?

php能否检测javascript是否开启?,php,javascript,Php,Javascript,我有一个动态创建的页面 现在我想添加ajax函数,所以我想添加if语句来更改输出 if(js is on){ ... ... echo "js is on"; }else{ ... echo "js is off"; } 有没有什么方法可以检测到js是否在php上 或者有没有办法通过jquery删除/隐藏它 提前感谢。PHP是在任何浏览器操作发生之前执行的,因此不会,PHP无法直接检测用户是否打开或关闭了Javascript 您必须提供更多关于您正在做什么的信息,以便我们为您找到解决方

我有一个动态创建的页面

现在我想添加ajax函数,所以我想添加if语句来更改输出

if(js is on){
 ...
 ... 
 echo "js is on";
}else{
...
echo "js is off";
}
有没有什么方法可以检测到js是否在php上

或者有没有办法通过jquery删除/隐藏它


提前感谢。

PHP是在任何浏览器操作发生之前执行的,因此不会,PHP无法直接检测用户是否打开或关闭了Javascript

您必须提供更多关于您正在做什么的信息,以便我们为您找到解决方法。在PHP中,可以检测调用是否是通过AJAX发出的,是否使用jQuery将自动设置的
$\u服务器['X\u HTTP\u REQUESTED\u WITH']
全局变量


如果需要在启用Javascript时显示元素,可以先用CSS隐藏该元素,然后用Javascript/jQuery启用它。这一点也同样适用于其他方面。

它不能直接完成,因此解决方法通常既笨拙又浪费


改用渐进增强技术。

在PHP中无法做到这一点,因为页面是在您知道的时间呈现的。除了一些疯狂的重定向场景之外,您最好的选择可能是使用CSS+JS来显示/隐藏您需要的内容:

我通常做的是(根据您需要显示/隐藏的内容,您的里程可能会有所不同):


只需让网站在没有JS的情况下运行即可。如果一切正常,您可以使用jQuery等附加JS功能

这也叫,

所以你基本上不区分有JS的客户端和没有JS的客户端。您不会提供不同的输出。将HTML代码设置为这样一种方式,即您可以轻松地识别应该以编程方式实现此功能的元素


这种方式对你来说更容易,因为你不必考虑不同的输出,它保证了网站在没有JS的情况下也能正常工作

此外,您不能在jQuery中执行任何操作,因为它是javascript,因此如果不启用javascript,将不会执行。好的,您建议怎么做?只在其中添加javascript功能,以增强站点的功能。该网站应该完全没有Javascript的功能。这也被称为不引人注目的Javascript/编程。您可以在这里了解更多信息:渐进增强是不引人注目的Javascript的先决条件。@Chacha102它一点也不粗糙。它提供了一个最好的方法来逐步增强你的网站,同时避免了未格式化内容(FOU)的闪现,或者更糟糕的是,只有在有JS的情况下才需要显示内容。这是黑客行为!它只是从好的、更具历史意义的角度,暗示了一个巧妙而聪明的把戏,而不是最近的贬义意义,暗示了一个混乱或其他考虑不周的概念。
<html>
   <head>
      ... other stuff here, title, meta, etc ...

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

      ... everything else
   </head>
/* 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 }