Windows Internet Explorer 10

IEBlogにおいてIE10 PP2に新しく追加された「Page Visibility API」の紹介が「Using PC Hardware more efficiently in HTML5: New Web Performance APIs, Part 2」として掲載された。現在のところ「Page Visibility API」はIE10 PP2以外ではChrome 13がサポートしているという。

Page Visibility」は現在W3Cで策定が進められている仕様のひとつ。対象となるWebページがユーザから見える状態にあるのかを判定するためのもので、ほかのタブを見ていたり、アイコン化したりしていた場合に自動更新の頻度を減らすなど、通常時と異なる振る舞いを実装できるようになる。シンプルな機能でありつつも、Webアプリケーションの快適な動作や、消費電力の削減などに貢献できる技術として興味深い。

Page Visibilityでは主に次の属性とイベントが使われる。

  • document.hidden - 閲覧されていない場合に真値となる論理値の属性。
  • document.visibilityState - 状態の詳しい説明(hidden、visible、preview、prerenderが用意されている)。
  • visibilitychange - visibilityStateの値が変更されたときに動作するイベント。

IE10 PP2でTest DriveのPage Visibility APIにアクセス。Page Visibility APIが使用できていることがわかる。

Chrome Canaryでも利用可能。ほかのタブを表示させたり、ウィンドウを非表示にするとHiddenとして認識される。

IE9でアクセスしてもPage Visibility APIが実装されていないと表示される。

Firefox NightlyでアクセスしてもIE9と同様。

現状、IE10 PP2もChrome 13+でもPage Visibility APIはベンダプレフィックスがついたものが実装されており、記事に掲載されているサンプルもベンダプレフィックスに対応したものとなっている。。