私は履歴APIでWicket 7.xを使用しています。私は現在、 "onpopstate"のAjaxEventBehaviorをワイヤリングしようとしています。私はhistory.pushStateを実行するたびにオブジェクトを追加するコードを持っています。私の問題はJavaの側からonEventでこの余分な情報にアクセスすることができないことです。履歴APIを使用したWick AjaxEventBehavior
サンプルpushState:
target.appendJavaScript("history.pushState({query: '" +
searchResults.getQueryString() + "'}, null, window.location.pathname);");
EventBehavior:
this.getPage().add(new AjaxEventBehavior("onpopstate")
{
@Override
protected void onEvent(AjaxRequestTarget target)
{
//code to get query defined in pushState
}
});
updateAjaxAttributesページがレンダリングされるとき、それが唯一の呼び出されるためのソリューションではありません。私はpopstateが呼び出されたときにこの余分なデータを送る必要があります。
こんにちは、チップをありがとうございます。それは私を正しい軌道に乗せてくれました!私は今あなたが提案したようにgetDynamicExtraParametersを使用しています。私が直面している唯一の問題は、余分なパラメータが追加されたときです。イベントが早過ぎて正しい情報を取得できない場合があります。後で実行を延期する方法はありますか? getDynamicExtraParametersに渡す現在の値は "return {'query':attrs.event.originalEvent.state.query}"です。 – Greg
私は私の問題の解決策を見つけました。私はHistory APIを悪用していました。素晴らしい答えをありがとう! – Greg