javascript显示不同的屏幕分辨率

时间:2017-08-26 06:58:25

标签: javascript

当我按照建议here使用availHeightheight时,我得到的解决方案与我的操作系统告诉我的不同。

我说1280身高,但在我的操作系统中我放了1690.为什么?

我没有浏览器缩放。

有没有办法获得实际的分辨率?

1 个答案:

答案 0 :(得分:0)

我基本上写了自己的东西来解决这个问题(对于响应式网站非常方便)。我知道有插头存在,但Safari有点缺乏。

所以我通常只使用宽度来知道何时添加媒体查询,只需添加:

function EvaluateDivisors {

    function main(String[] args) {
        try {
            long a = Long.parseLong(args[0]);
            long b = Long.parseLong(args[1]);
            int k = Integer.parseInt(args[2]);

            if (a <= 1 || b <= a) {
                error("Error: must have 1 < A < B");
            }
            if (k <= 0 || k % 2 == 0) {
                error("Error: K must be a positive odd number");
            }
            System.out.println(solution(a, b, k));
        } catch (IndexOutOfBoundsException e) {
            error("Usage: EvaluateDivisors A B K");
        } catch (NumberFormatException e) {
            error("Error: arguments must be integers");
        }
    }


    function solution(long a, long b, int k) {

        if (prime(k)) {
            return primeSolution(a, b, k);
        }
        int result = 0;

        for (long n = (long) Math.sqrt(a); n*n <= b; n++) {

            int divisors = 3;

            for (long m = 2; m < n && divisors <= k; m++) {
                if (n*n % m == 0) {
                    divisors += 2;
                }
            }
            if (divisors == k) {
                result++;
            }
        }
        return result;
    }

    function primeSolution(long a, long b, int k) {
      int result = 0;

       int n = 2;
      while (Math.pow(n, k - 1) < a) {
          n++;
      }
      while (Math.pow(n, k - 1) <= b) {
          if (prime(n++)) {
              result++;
          }
      }
      return result;
  }


        function prime(int n) {
        for (int m = 2; m <= Math.sqrt(n); m++) {
            if (n % m == 0) {
                return false;
            }
        }
        return true;
    }

    function error(String message) {
        console.log(message);
        System.exit(1);
    }

}

以下内容:

let viewportHeight = $(window).height();

然后是一些用于查看窗口大小的简单CSS:

$(window).resize(function(){
    let viewportWidth = $(window).width();
    let ems = viewportWidth / parseFloat($("body").css("font-size"));
    $('#viewport').html(viewportWidth+" | "+ems);

    $('#viewport-height').html(viewportHeight+" | "+ems); //add this for height
});

这从来没有让我失望,当你减少/增加浏览器大小以帮助进行媒体查询时,你可以逐像素地看到。

希望有帮助...