使用代码禁用移动屏幕上的PHP插件


Disable a PHP Plugin on mobile Screens with Code?

我有一个名为"WP FLOAT"的插件,当它检测到小屏幕时,我想禁用它,比如说小于400px。有没有一行PHP代码可以粘贴到插件的文件中来实现这一点?

以下是插件的唯一文件:

wp-foat/wp-foat(.)php

wp-foat/readme(.)txt

wp-foat/js/jquery.haverIntent.minimied(.)js

wp-foat/js/jquery.leasing(.)js

wp-foat/js/wp-float按钮(.)js

wp-foat/js/jquery.foatter.2.2(.)js

wp-foat/js/button wpfloat(.)php

我要粘贴什么?粘贴在哪个文件中?感谢

正如Nicolas所说,除非我们之前从客户端(例如JavaScript)发送过该信息,否则无法访问服务器端的客户端屏幕大小。

但是,标题给我们带来了很好的信息。因此,如果你想为移动设备禁用它,比如说,我们可以假设它们不会有大屏幕,你可以尝试读取请求的标题,以获取浏览器的代理,比如说用PHP:

if (preg_match('/iphone|android|blackberry|nokia/i'),$_SERVER['HTTP_USER_AGENT']))
    echo "Looks like a small screen device...";

您也可以尝试这个PHP类来检测移动设备:http://code.google.com/p/php-mobile-detect/

稍后你可以做一些类似的事情

require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
if ($detect->isMobile()) {
    echo "It's a phone or tablet";
}
if($detect->isTablet()){
    echo "It's a tablet";
}
if ($detect->isMobile() && !$detect->isTablet()) {
    echo "It's a phone ;)";
}

在获得当前屏幕大小后,您可以使用jquery或css中的媒体查询来正确删除。

我不认为你能做到这一点,因为PHP在服务器上,没有办法从中获得屏幕的大小。

但是,您可以使用javascript重定向到当前页面并禁用插件:

if(!isset( $_GET['r'] ) )     
{
  $script = "<script>";
  $script .= 'document.location="' . $_SERVER['PHP_SELF']. '?r=1&width=screen.width';
  $script .= "</script>";
  echo $script;
}     
else {
  if( isset( $_GET['width'] ) && $_GET['width'] < 400 )
    // Disable plugin
}

我建议你更改插件或寻找另一种解决方法,因为我相信这会有点慢。