如何使这个脚本工作,只在移动设备,而不是桌面?

时间:2017-02-16 16:25:27

标签: javascript php android mobile responsive

解决了!此脚本调整移动和桌面屏幕分辨率。我怎样才能让它工作,只在移动设备,而不是桌面?

该脚本使网站负责,在移动设备上运行良好,但在桌面上的分辨率太大。

if ( ! class_exists( 'Responsive' ) ) :
class Responsive {

  // Constants
  const NAME = 'responsive';
  const SLUG = 'responsive';

  //////////////////////////////////////////////////
  // Constructor makes sure jQuery will be added. //
  //////////////////////////////////////////////////
  function __construct() {

    add_action( 'wp_enqueue_scripts', 'add_jquery' );
    function add_jquery() {
      wp_enqueue_script( 'jquery' );
    }

    add_action( 'wp_head', array( &$this, 'draw_' ) );

  } // End constructor().

  ///////////////////////////////////
  // Main JavaScript resize script //
  ///////////////////////////////////
  function draw_() {
    ?>
    <script>

      jQuery(window).resize(function() {
        safescale();
      });
      jQuery(document).ready(function() {
        jQuery(window).trigger('resize');
        jQuery(window).trigger('resize');
      });

      function scale(factor_x){
        jQuery('html').css("transform","scale("+factor_x+","+factor_x+")");
        jQuery('html').css("-moz-transform","scale("+factor_x+","+factor_x+")");
        jQuery('html').css("-webkit-transform","scale("+factor_x+","+factor_x+")");
        jQuery('html').css("-o-transform","scale("+factor_x+","+factor_x+")");
      }

      function safescale(){

        factor_x = jQuery(window).width() / jQuery('body').width() ;

        jQuery("html").css({"position": "absolute", "margin": "0px", "padding": "0px"});
        jQuery("body").css({"position": "absolute", "margin": "0px", "padding": "0px"});
        scale(factor_x);
      }
    </script>

    <?php
    return true;
  }


} // end class
endif;

new Responsive();

2 个答案:

答案 0 :(得分:0)

使用此插件仅检测移动设备并仅为移动设备执行代码

http://mobiledetect.net/

答案 1 :(得分:0)

如果您想阻止执行桌面设备的js代码,请执行以下操作:

// js :
if (jQuery(window).width() < 1000) {
    // your codes goes here;
}

1000px就是一个例子;你可以设置你想要的宽度;