2011-06-22 8 views
5

私はGoogleグループで見つかった他の誰かの質問を再投稿していますが、私は同様の問題を抱えている:Phonegap - 自動オリエンテーションを有効にしたまま回転を防止しますか?


私はそれがビデオを再生する場合を除き、ポートレートになるためにすべてを必要とするアプリケーションを持っています。 iOSでは、ビデオ再生がQuicktimeプレーヤーに渡されるときに、ビデオを風景モードで再生できるようにします。現在のところ、ビデオはポートレートを継承しているように見えるため、ポートレートでのみ再生されます(電話帳アプリケーションからのみ)。私の解決策は、自動回転にPhonegap.plistを変更することがありますが、私は、回転の変更をキャッチし、ビデオの再生を除いて、アプリケーションのすべてのページでそれらを防ぐためにjavascriptを使用できるようにしたいと思います。これは実現可能ですか?アプリケーションの特定のページのためだけに、横向きの向きを強制するもう1つの方法はありますか? ありがとう!


私は成功せず、有効に自動回転して次のことを試してみました:

$(document).ready(function(){ 
    document.addEventListener('orientationchange', function(e) { e.preventDefault(); }, false); 
}); 
+0

あなたのコンテキストについて詳しく知りたいですか?私はiPhone、JavaScript、Androidを見ていますが、どのプラットフォームを参照しているのかは分かりません。 –

+0

私はそう思います。vincentはPhonegap libで作業しています。彼はコードを一度作成し、IOS、Androidなど(Phonegapがサポートする)のビルドを手に入れます。 –

+0

success_anilが正しいです。私はiPhoneとAndroid用にビルドするつもりです。しかし、この段階では、iPhoneだけのソリューションで十分でしょう。私はHTML5、jQuery、jQtouchを使用しています。 – Vincent

答えて

2
$(window).bind("orientationchange", function(){ 
    var orientation = window.orientation; 
    var new_orientation = (orientation) ? 0 : 180 + orientation; 
    $('body').css({ 
     "-webkit-transform": "rotate(" + new_orientation + "deg)" 
    }); 
}); 

これは危険な方法ですが、その唯一の方法を考えて..あなたが結合することができます

代替をウィンドウのサイズ変更イベント。

$(window).bind("resize", function(){ 
    var orientation = window.orientation; 
    var new_orientation = (orientation) ? 0 : 180 + orientation; 
    $('body').css({ 
     "-webkit-transform": "rotate(" + new_orientation + "deg)" 
    }); 
}); 

私はしばらく前にこの小さなスクリプトを書いた:それは乗算のiOSのSafariとAndroidでの非/後期/早期トリガ(1)orientationchangeのバグでコールバックバグのサイズを変更する修正。

(1)ブラウザの幅と高さが変更された後に時々起こることはありませんか?有線!

if (!(/iphone|ipad/gi).test(navigator.appVersion)) { 
    $(window).unbind("resize").bind("resize", function() { 
     $(window).trigger("orientationchange"); 
    }); 
} 

iphoneまたはipadでない場合は、ウィンドウでorientationchangeイベントがトリガーされます。

どのような関数をバインドする場合でも、サイズ変更を行うとorientationchangeがスローされます。

参照:http://jsfiddle.net/aalouv/sABRQ/1/

+0

これをどのようにファイルに組み込みますか?これは私のインデックスファイルのJS部分に入っていますか?ありがとう! – nate8684

関連する問題