0

我正在使用 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。

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

4

1 回答 1

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)) {
于 2013-02-15T14:39:39.473 回答