设备像素比未定义

时间:2013-02-15 14:38:01

标签: javascript cookies

我正在使用javascript查看设备像素比率的Cookie。在IE设备中像素比率输出未定义,所以我想用条件来说,如果未定义设置为1。

我一直在尝试一些不同的方法,但认为这样可行:

<script>
                    if (window.devicePixelRatio==undefined) {
                        document.cookie='screenpixelratio='1'; path=/';location.reload(true);
                    } else {
                        document.cookie='screenpixelratio='+window.devicePixelRatio+'; path=/';location.reload(true);
                    }
                </script>

但是,我无法将其输出1.

有谁知道我怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

PaulJ在关于您的代码中存在语法错误的问题的评论中指出:

document.cookie='screenpixelratio='1'; path=/';location.reload(true);
// Here --------------------------^

'终止字符串,因此1是该点的无效令牌。你可能意味着:

document.cookie='screenpixelratio=1; path=/';location.reload(true);

如果不是这样,我原来的回答是:

我认为这样可行,但这可能会更好:

if (typeof window.devicePixelRatio === "undefined") {

从技术上讲,某些东西可能undefined但与您用来比较它的undefined不一样,但这通常仅在跨窗口情况下。

或者这可以更直接地指出(找出devicePixelRatio上是否有window属性):

if (!('devicePixelRatio' in window)) {