我正在使用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.
有谁知道我怎么做到这一点?
答案 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)) {