0

この方法で他のページにリダイレクトするいくつかの onclick イベントハンドラーを含む index.html ファイルがあります。

onclick="window.location='page2.html';"

で戻るボタンを処理しています

blackberry.system.event.onHardwareKey(blackberry.system.event.KEY_BACK, function() { 
        window.history.go(-1);
        return false;
    }); 

そうしないと、OS 6.0 でアプリが終了するためです (5.0 では必要ありません)。

page2.html から index.html に戻ると、index.html のすべての onclick ハンドラーが機能しますが、元のページ (この場合は page2.html) にリダイレクトするものは除きます。onclick ハンドラーに別の関数を使用してみましたが、トリガーされることがわかりましたが、その中の window.location 関数は実行されません。

奇妙なことに、window.location 関数は、タッチスクリーンでクリックすると実行されますが、トラックパッドでは実行されず、6.0 でのみ実行されます。5.0では問題なく動作します。

任意の助けをいただければ幸いです

4

1 に答える 1

1

onclick をこのようなものに変更してみてください(デバッグ目的で)

onclick=" try { window.location='page2.html'; } catch(e) { alert('error: ' + e); } "

実行時エラーが発生している場合は、警告が表示されます。

余談ですが、アプリのページ/コンテンツを変更する手法については少し心配です。これを適切に実装しないと、メモリの問題が発生する危険があります。ページフラグメントのロード/アンロードを処理するフレームワークの使用を検討しましたか?

bbUI.jsがこれを行う方法を確認してください。

「bbUI ツールキットは、ターゲット オペレーティング システムに最も最適化された方法でアプリケーションの UI を構築します。それは、HTML フラグメントとしてロードされた画面を持つ単一の Web ページの方法論に従います。各画面は独自の HTML フラグメント ファイルです。ツールキットは次に、 AJAX を使用してスタックから画面をプッシュおよびポップします。ツールキルトは画面スタックとコンテンツの読み込みを管理します。これにより、デバイス メモリを最大限に活用できます。」

于 2012-10-15T17:21:06.287 に答える