ブラックベリー&でgoogle.comの外観が異なるのはなぜですか。 PhoneGap vs. Blackberry&ブラウザ

StackOverflow https://stackoverflow.com/questions/838069

質問

ブラックベリーストーム(9530シミュレーター)でphonegapを起動して実行するようにしています。 BBに組み込まれたブラウザーを使用してwebappをテストしていたので問題ありませんでしたが、同じURLにphonegapを指定していても、phonegap内からいくつかのコードを確認しようとするとまったく問題が発生しました(デバイス上でコードをローカルで実行するポイントにはまだ到達していません。)

Googleでテストケースを試したところ、同様の結果が得られました。下記参照。ここに基本的なものが欠けていると思う。私は両方の画像がほぼ同一であると予想していました。

ブラウザ http://www.eleganttechnologies.com/outside/ImgDeviceBB9530WebGoogle.jpg

Phonegap http://www.eleganttechnologies.com/outside/ImgDeviceBB9530PgGoogle.jpg

[更新] 何が起こっているかを明らかにするために、ブラウザーと組み込みブラウザー(phonegap)をW3モバイルWebの酸テストに対して実行しました: http://www.w3.org/2008/06/mobile-test/ 両者の違いに間違いなく気付きますが、「なぜ」と「対処方法」はまだわかりません。

組み込みブラウザ経由の酸
(ソース: eleganttechnologies.com
ところで-私はこれを今日早く実行し、今よりも数個の緑の正方形を得ました。

phonegapに埋め込まれたブラウザ経由の酸 http://www.eleganttechnologies.com/outside/ImgDeviceBb9530PgAcid.jpg

役に立ちましたか?

解決

免責事項:電話ギャップについては何も知りませんが、かなり良い理論を持っています。デフォルトでは、BlackBerryの埋め込みブラウザーコントロールは、BlackBerryブラウザー自体よりも古いバージョンのレンダリングエンジンを使用します。

昨年のBlackBerry開発者カンファレンスで、これについての講演が行われ、新しいレンダリングエンジンを使用するための文書化されていないオプションがあります。 \

オプションIDは17000(はい、変更される可能性があり、ご自身の責任で使用することができるマジックナンバー)であり、trueに設定する必要があります。 phonegapを介してこのオプションをどのように渡すかはわかりませんが(ツールキットには詳しくありません)、BlackBerry APIを使用すると次のようになります。

BrowserContent content;
...
content.getRenderingOptions().setProperty(RenderingOptions.CORE_OPTIONS_GUID, 17000, true);

他のヒント

使用しているブラウザの詳細はわかりませんが、大規模なサイトのほとんどがOSとブラウザの組み合わせを検出して、表示するHTMLを決定することを知っています。

Googleが別のユーザーエージェントを表示している場合、ビルトインブラウザーで取得するBlackberry固有のHTMLの代わりに、HTMLの汎用モバイルバージョンを取得できます。

Webサーバーにアクセスできる場合は、両方のブラウザー設定でアクセスして、ログファイルに違いがあるかどうかを確認してください。それはあなたに何か面白いことを教えてくれるかもしれません。

Acidテストでわかるように...

1つのブラウザ(組み込みのブラウザ)がBlackBerry9530として正しくレポートしており、もう1つのブラウザ(phonegap)がユーザーエージェントを提示していません[& "Testing with。&";]。 この場合、Googleはホームページのデフォルトビューを提供しますが、BlackBerryデバイスとして自分自身を報告する場合、BlackBerry固有のレンダリングを取得します。

物事の音により、phonegapを使用すると、デフォルトのユーザーエージェントが削除されます(おそらく、デバイスが認識されないためです)。 phonegapはオープンソースなので、最善の策はそこにアクセスしてデバッグし、httpリクエストがデバイスを離れてそこから戻るときにユーザーエージェントで何が起こるかを調べることです。

あるブラウザには別のブラウザにはない機能があるのでしょうか?

うーん。スクリーンショットを見ると、2ページ目にはおそらくいくつかのリソースが欠けていると言えます。いくつかの画像、スクリプト、CSSファイルが欠落している可能性があり、異なるl& fを説明します。 Blackberry Browser Field APIの仕組みを知っていれば、BrowserFieldを使用する実装が正しく行われていなかったと思います。ちょうど私の推測。それに加えて、ブラウザフィールドが初期化されると、呼び出し元は適切なブラウザ機能(スクリプト、スタイルなど)を有効にして適切に設定する必要があります。再び、APIは非常に奇妙な方法で行われます。 。オプションを設定するとき、1つのマスク(CSS | WML | SCRIPTなど)を作成して1つの呼び出しを行うことはできません。オプションは数値であり、重複しないと信じています-ただし、各オプションを個別に設定するにはAPIを呼び出す必要があります。

また、BrowserFieldのリソースの非同期ロード方法を理解するには時間がかかります。

ちょうど$ 2.02

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top