1

iOS、Android、および webOS で実行したい PhoneGap でアプリケーションを作成しています。jQTouch は、iOS と Android のすべてに対応していますが、webOS には対応していません。

webOS Mojo フレームワークは(変数を使用する) Prototype に基づいて$いるため、noConflict モードで jQuery を使用する必要があります。それくらいは扱えます。

ただし、問題は、jQTouch プラグインも使用したいということです。jqtouch.jsファイルは全体で使用され、その$ファイルが読み込まれると JavaScript エラーが発生します。

Prototype に干渉することなく、PhoneGap アプリケーションで jQTouch プラグイン (またはその他のプラグイン) を実行する方法はありますか?

4

2 に答える 2

6

クロージャでラップして jQuery を渡すことができるはずです。例:

(function($){
   alert($);
}("Hello"))

(function($){
   $("foo"); // uses the jQuery rather than $
}(jQuery))
于 2010-06-10T23:50:24.390 に答える
3

実際にはプロトタイプを取り除くことができるので、競合はありません。プログラミング ガイドの 1 つからこの抜粋を読んでください。

Mojo は、ほとんどの webOS アプリが構築されている標準の JavaScript フレームワークです。ただし、その中の機能を使用していない場合は、起動時間がかかるだけです. index.html ページの上部にある script タグをコメントアウトするだけで、Mojo のロードを防ぐことができます。

--> ただし、Mojo は必要なことを 1 つ実行します。アプリが完全に読み込まれ、準備が整ったときに、ウィンドウ マネージャーに通知します。これは、単純な onLoad イベント ハンドラを使用して手動で行うことができます。次のスクリプトを index.html ページの先頭に追加します。

関数 onLoad() { if (window.PalmSystem) { window.PalmSystem.stageReady(); } }

次に、本体の onload イベントに呼び出しを追加します。

それでおしまい!これで、アプリは Mojo なしでロードされ、はるかに迅速に起動します。

于 2011-01-02T15:06:37.607 に答える