0

我有一个名为“WP FLOAT”的插件,我想在它检测到小屏幕尺寸时禁用它,比如说小于 400 像素。是否有一行 PHP 代码我可以粘贴到插件的一个文件中来实现这一点?

这些是插件的唯一文件:

wp-float/wp-float(.)php

wp-float/readme(.)txt

wp-float/js/jquery.hoverIntent.minified(.)js

wp-float/js/jquery.easing(.)js

wp-float/js/wp-float-button(.)js

wp-float/js/jquery.floater.2.2(.)js

wp-float/js/按钮-wpfloat(.)php

我将粘贴什么以及在哪个文件中?谢谢

4

3 回答 3

1

正如 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 ;)";
}
于 2013-08-13T04:16:12.700 回答
0

我不认为你可以这样做,因为 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
}

我建议您更改插件或寻找其他解决方法,因为我相信这会有点慢。

于 2013-08-13T03:09:31.670 回答
0

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

于 2013-08-13T02:57:08.363 回答