私はAjaxリンクにAjaxFallbackLinkコンポーネントを使用します。リンクにマウスを重ねると、URLは./myPage?1-1.ILinkListener-xxxのようになります。しかし実際にリンクをクリックすると、Ajaxリクエストは./myPage?1-1.IBehaviorListener-xxxのようになります。Wicket AjaxFallbackLinkの動作
JavaScriptが何とかURLをILinkListenerからIBehaviorListenerに変更したようです。そうであれば驚いて、それはなぜですか?
リクエストがブラウザから送信されたときに、URLのILinkListenerがIBehaviorListenerに変更されない場合があります。コールバック関数のパラメータAjaxRequestTargetがnullのため、NullPointerExceptionが発生することがあります。私はこれを再現できませんでした。どのブラウザ設定でこれが起こる可能性があるのだろうか。どうもありがとう。
ありがとうございます。あなたが言及したように、AjaxFallbackLinkの場合はAJAXが存在しない可能性があります。これはまさに私の疑問の最後の部分です。これを現代のブラウザ、つまりAJAXではなくJavaScriptで有効にする方法は?あなたがどのように知っているかのように。 – Yuci
これは、異なる問題によって引き起こされる可能性があります。他のビヘイビアを追加したり、JSイベント宣言などを停止した場合は、jQuery(JSライブラリ)への参照をオーバーライドまたは重複させたり、リンク上でonClick関数を置き換えたりできます。私はチェックする:1)HTMLヘッダーには1つだけのjQueryがある?2)あなたのリンクに他の動作はない?3)HTMLヘッダーにあなたのリンクに添付されているonClickイベントは1つだけある? 4)すべてのHTMLリンクに一般的なonclickイベントが添付されていませんか? –
私の場合、Ajaxの動作が期待されていて、実際にはすべてのブラウザで正常に動作します。一部のユーザーにとっては、Tomcatアクセスログに従って代わりに汎用リンクが使用されます。したがって、唯一の違いはブラウザ側です。私は今Ajaxを無効にしようとしていますが、JavaScriptを有効にしています。私は後でこれに戻ります。 – Yuci