0

デバイスのピクセル比に対する Cookie を確認するために JavaScript を使用しています。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 に答える