2012-06-25 17 views
5

可能性の重複:
Mobile site - force landscape only/no auto-rotatecss/js/html経由でデバイスの向きを横向きにしますか?

私はこれについて、いくつかのpostsを見たが、本当に決定的な答えではなく、いくつかの提案の回避策を見つけていません。

ウェブページからデバイスの向きを強制できますか?私は:景色として私のサイトを詰め込むことはできますか?

ありがとうございました

+1

まだこれを許可するものはありませんが、提案されています。 [The Screen Orientation API](http://dvcs.w3.org/hg/screen-orientation/raw-file/tip/Overview.html)を参照してください。 – sachleen

答えて

3

JavaScriptでできます。それがサポートされている場合は最初のチェック:

window.addEventListener('deviceorientation', function(eventData) {}); 

私はあなたがそれを回しているときに応答するあなたの側をトリガーする必要がありますね:

if (window.DeviceOrientationEvent) { 
    console.log("DeviceOrientation is supported"); 
} 

次にあなたが回転に何かをしたい場合のEventListenerを追加します。デバイスがそれを行うので、方向をトリガすることはできません。あなたのウェブサイトがランドスケープモードでロードされると、それを検出してサイトをランドスケープモードでレンダリングし(カスタムCSSをロードしますか?)、訪問者が電話やタブレットを回すと、リスナーは新しいCSS JavaScript(jQueryはこれらの状況についてアドバイスされています)を介してファイルします。

サイトにはダイナミクスがあまりありません.GETメソッド呼び出しを使用してページを再ロードして向きを変更することはできますが、コースから離れるとこれは遅くなる可能性があります。モバイルデバイス上でJavaScriptを使用してウェブサイト全体を再レンダリングすることは、iPhoneで以前にテストしたことで電話を熱くすることさえあります。 JavaScriptエンジンは高速で、すべてのものをスムーズにレンダリングするために多くのCPUを取り出すだけでなく、短時間で多くのリソースを消費するため、モバイルデバイスがレンダリングを常に維持することが難しくなります。これのベストな例は、JavaScript呼び出しでHTML5ゲームを作成するときです。 iPhoneは実際にはApp:Pでゲームをプレイするように最終的に熱くなります。

関連する問題