2009-05-08 5 views
3

ブラックベリーストーム(9530シミュレータ)でphonegapを起動して実行しています。私はBBのブラウザでビルドされたWebアプリケーションをテストしていましたが、okだと思っていましたが、phonegapを同じURLに指していたにもかかわらず、まだデバイス上でコードをローカルで実行していた)。なぜgoogle.comはブラックベリーとphonegapとブラックベリーとブラウザで異なって見えるのですか

Googleでテストケースを試してみたところ、類似の結果が得られました。下記参照。私はここに何か基本的なものがないと思う。私は両方の画像がほぼ同じであると期待していたでしょう。

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

PhoneGapの http://www.eleganttechnologies.com/outside/ImgDeviceBB9530PgGoogle.jpg

何が起こっているかについていくつかの光を当てるために、[更新] 、私はW3モバイルウェブ酸試験に対するブラウザと組み込みブラウザ(PhoneGapのを)実行しました: http://www.w3.org/2008/06/mobile-test/ 私は間違いなく2つの違いに気付きましたが、私はまだ「なぜ」と「どのようにアドレス」を知っていません。内蔵のブラウザ http://www.eleganttechnologies.com/outside/ImgDeviceBb9530WebAcid.jpg ところで経由

酸 - 私は今日、この先に走ったし、今よりもカップルより多くの緑の四角を得ました。 PhoneGapの にhttp://www.eleganttechnologies.com/outside/ImgDeviceBb9530PgAcid.jpg

+0

BlackberryのPhoneGapで達成したいことのいくつかは、機能豊富なブラウザを使用するウィジェットで実装できるようになりました。 –

+0

JJ - あなたはちょっと精巧にできますか?特にどのウィジェットですか?リンクがありますか? – Axeva

+0

@Axeva - 今すぐイベントで克服してください。これは実際に古いBB版にのみ関連しています。 –

答えて

4

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

去年のBlackBerryデベロッパーカンファレンスでは、これについて話があり、新しいレンダリングエンジンを使用するための文書化されていないオプションがあります。\

オプションIDは17000(はい、変更する可能性のある魔​​法の数字、自己責任で使用するなど)であり、trueに設定する必要があります。

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

これは有望そうです - 私はすぐにそれを調べます。 –

+0

オクラホマ - とても速くはできませんでしたが、これは基本的に正しいです。最新のphonegapはこの手法を実装していますが、その構文は少し異なります。 –

+0

@JJRohrer - 私は長い間ずっと同じような問題に直面しています。あなたはこれをどのように修正したのか教えていただけますか? – BlahBlah

0

を組み込みブラウザ経由

酸はたぶん1つのブラウザは別のものにはない機能を持っていますか?

+0

右 - しかし、それは文字通り同じブラウザではないでしょうか?同様に、iphoneのモバイルサファリを介してGoogleにブラウズすると、同じGoogleページを指す埋め込みUIWebViewと同じページが生成されるはずです。 –

2

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

Googleに別のユーザーエージェントが表示されている場合は、内蔵ブラウザ用に取得したBlackberry固有のHTMLの代わりに、HTMLの一般的なモバイルバージョンが表示されることがあります。

ウェブサーバーにアクセスできる場合は、両方のブラウザ設定でログオンし、ログファイルに違いがあるかどうかを確認してください。それはあなたに何か興味深いことを伝えるかもしれない私たちはあなたの酸のテストで見ることができるように

+0

ユーザーエージェントは明らかに問題の一部ですが、それは酸結果とブラウザ検出を使用しない独自のコードの違いについては説明していませんが、結果はまだかなり異なっています。 –

1

...

つのブラウザ(ビルトイン1)ユーザーエージェント[」を提示していないBlackBerry9530、およびその他(PhoneGapの)として正しく報告しています。 "]でテストする。 この場合、Googleは自分のホームページのデフォルトビューを提供しますが、自分自身をBlackBerryデバイスとして報告するときは、BlackBerry固有のレンダリングを取得します。

音が聞こえるので、phonegapを使用するとデフォルトのユーザーエージェントが削除されます(おそらく、デバイスが認識されないためです)。 phonegapはオープンソースなので、そこに入りデバッグして、httpリクエストがデバイスを離れてそこから戻ってくるときに、ユーザーエージェントがどうなるかを知ることが最善の方法です。

0

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

また、BrowserFieldのリソースの非同期読み込みには時間がかかります。

ちょうど$ 0.02です。

関連する問題