3

最近、クライアントから、当社の Web サイトにスライドショーを実装するように依頼されました。ホームページの画像遷移を絶えずアニメーション化すると、ほとんどのモバイル デバイスのプロセッサがペグされるのではないかと懸念しているため、バッテリー寿命を維持するために自動進行を無効にしたいと考えています。ユーザー エージェントを検出せずにこれを行う方法はありますか?

ここにドラフトされたバッテリーステータス API があることを見てきましたが、それがどの程度完全であるか、またはどのブラウザーがそれを実装しているかはわかりません。

4

3 に答える 3

2

この API でできるようになりました: http://davidwalsh.name/javascript-battery-api

navigator.getBattery().then(function(result) {});
于 2015-02-25T19:09:15.637 に答える
2

実際にバッテリーを特定することは非常に難しく、おそらくさまざまな権限の問題が関係しています。

小さなコードを実行して、所要時間を確認してみてください。カットオフを選択し、コードの実行が遅すぎる場合は、遷移/アニメーション/自動進行をオフにします。これは、バッテリーデバイスだけではありません。遅すぎるものは、アニメーション化されていないバージョンになります。優雅に劣化します。

于 2012-03-06T16:51:02.583 に答える
1

別の古いトピックですが、まだ関連があります-デバイスにモーションセンサーがあるかどうかを確認します。多くのラップトップではありませんが、最新のスマートフォンとタブレットはすべて搭載されているため、ラップトップユーザーはわずかに多くのバッテリーを使用して生活できます-

jQuery:

if (window.DeviceOrientationEvent) {
    $(window).one("devicemotion", function(event) {
        if (event.originalEvent.acceleration
                && event.originalEvent.acceleration.x !== null) { // Chrome fakes it on desktop
            isMobile = true;
        }
    });
}

プレーン Javascript:

if (window.DeviceOrientationEvent) {
    window.ondevicemotion = function(event) {
        if (event.acceleration
                && event.acceleration.x !== null) { // Chrome fakes it on desktop
            window.ondevicemotion = null;
            isMobile = true;
        }
    };
}
于 2015-02-12T15:04:16.833 に答える