wicket 6:页面加载后调用javascript函数
这看起来很简单,但我找不到一个例子,说明如何在加载页面后(在扩展网页的页面上)从wicket调用javascript函数。有人能举例说明如何做到这一点吗?你可以让javascript帮你做到这一点wicket 6:页面加载后调用javascript函数,javascript,wicket,Javascript,Wicket,这看起来很简单,但我找不到一个例子,说明如何在加载页面后(在扩展网页的页面上)从wicket调用javascript函数。有人能举例说明如何做到这一点吗?你可以让javascript帮你做到这一点 window.onload = function () { // do stuff here } 如果您需要javascript函数中wicket页面的参数,可以覆盖renderHead并在那里添加函数: @Override public void renderHead(IHeaderRespons
window.onload = function () {
// do stuff here
}
如果您需要javascript函数中wicket页面的参数,可以覆盖renderHead并在那里添加函数:
@Override
public void renderHead(IHeaderResponse response)
{
super.renderHead(response);
String bar = "something";
response.render(JavaScriptHeaderItem.forScript("window.onload = function () {var foo='" + bar + "'}"));
// or
response.render(OnDomReadyHeaderItem.forScript("functionToCall(" + bar + ");") ;
}
另一种方法是创建AjaxEventBehavior,如下所示,并将其添加到页面中
AjaxEventBehavior event = new AjaxEventBehavior("onload") {
@Override
protected void onEvent(final AjaxRequestTarget target) {
// do stuff here
target.appendJavaScript("alert('onload');");
}
}
add(event);
如问题中所述,wicket的版本是6tried“response.render(OnDomReadyHeaderItem.forScript(“testAlert();”))”)”——适合我。谢谢您可以将其添加到组件中,还是必须将其添加到页面中?添加到组件时似乎不会触发…appendJavaScript(),追加所述函数或JS片段。当在一个反复调用的Wicket函数中使用时,JS代码会被执行多次并线性增加。Wicket 8中的这个解决方案似乎不再有效。Wicket 8还有其他方法吗@安德帕特