Objective-Cで書かれたMacクライアントアプリケーションを使用して、ユーザーがテーブル内のHTMLドキュメントのリストを表示し、ユーザーが行をクリックすると選択したHTMLページWebViewに登録します。webkit - リスナーが2ページ目の読み込みで失敗する
すべてのHTMLページには、Objective-Cメソッドを呼び出す「クリック」するリスナーがあります。
アプリケーションが実行され、ユーザーが最初の行をクリックすると、すべて正常に動作します。 "クリック"イベントがトラップされ、Objective-Cメソッドが正常に呼び出されます。
しかし、ユーザーが2番目(またはそれ以降)のレコードをクリックしてから新しいHTMLページが同じWebViewに読み込まれると、「クリック」のリスナーは決して起動しません。
選択したレコードが最初にロードされた場合は、常に正常に動作するため、問題は悪いHTMLファイルではありません。参考までに、すべてのファイルはほぼ同じです。
私は簡単なテストアプリケーションで問題を解決しました。 http://dl.dropbox.com/u/160638/Work/TCL/MapTest2.zip
注:テストアプリケーションはメッセージを標準ログに出力するので、Objective-Cメソッド呼び出しが動作することを確認するには、XcodeまたはConsole.appのログウィンドウをチェックする必要がありますか否か)。一番上のボタンは、ローカルファイルから最初に読み込んだ後、文字列としてHTMLページをロードした後、WebサイトからHTMLページを取得してペアになります。
私は、2番目のHTMLページをWebViewに読み込むと、以前のページが何とか保持され、「クリック」した2人のリスナーが何らかの形で衝突していると推測しています。それは可能ですか?
HTMLページをロードして後続の読み込みがうまくいくように勧められる人はいますか? 2番目のページをロードする前に、以前にWebViewに読み込まれたページが完全にアンロードされるようにする方法はありますか?
お願いしたい提案があれば幸いです。
ありがとうございます。
ダレンです。
zipファイルのビルドディレクトリを削除することをお勧めします。 – Yuji