ページで matchMedia を使用していますが、Chrome for Android では一致のチェックが機能することに気付きましたが、メディア クエリにリスナーを追加しようとすると、コールバック関数が起動しません。
デスクトップで同じコードを実行しましたが、正常に動作しますが、ブラウザーとして Chrome を使用している Android 4.x デバイスのリスナーでコールバックが呼び出されないようです。これはまだブラウザに実装されていませんか?
var width768Check = window.matchMedia("(min-width: 768px)");
console.log(width768Check.matches);
console.log(width768Check.addListener);
width768Check.addListener(function(mediaQueryList) {
console.log(mediaQueryList.matches);
});
アップデート
Google Chrome v18.0.1025469 と Android v4.2.1 を搭載した Nexus 7 タブレットと、同じバージョンの Google Chrome と別のバージョンの Android v4.0.3 を搭載した Asus Transformer タブレットを使用してテストを行っています。
面白いことに、Asus タブレットはリスナー コールバック関数を正しく使用していますが、Nexus 7 はそうではありません。新しいバージョンの Android オペレーティング システムで同じバージョンの Chrome を使用しても問題が発生する理由はわかりません。また、Nexus 7 の場合、Dolphin Browser をダウンロードしたところ、すべて正常に動作しました。