Sembra così semplice, ma non riesco a trovare un esempio di come chiamare la funzione javascript da wicket, dopo che la pagina è stata caricata (nella pagina che si estende WebPage). Qualcuno può dare un esempio su come farlo?wicket 6: chiamata funzione javascript dopo caricamento pagina
risposta
Si può avere javascript farlo per voi
window.onload = function() {
// do stuff here
}
Se avete bisogno di parametri dalla pagina wicket nella funzione javascript è possibile ignorare renderHead e aggiungere la funzione c'è:
@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 + ");") ;
}
provato "response.render (OnDomReadyHeaderItem.forScript (" testAlert(); "));" - per me va bene. Grazie! – user1328889
Ancora un altro Il modo per farlo è creare AjaxEventBehavior come segue e aggiungerlo alla tua pagina.
AjaxEventBehavior event = new AjaxEventBehavior("onload") {
@Override
protected void onEvent(final AjaxRequestTarget target) {
// do stuff here
target.appendJavaScript("alert('onload');");
}
}
add(event);
Questo ha funzionato per me. Bello e semplice Grazie. – user2345093
Puoi aggiungere questo a un componente o deve essere la pagina? Non sembra sparare quando si aggiunge a un componente ... – Ash
appendJavaScript(), aggiunge la funzione menzionata o il pezzo del JS. Se utilizzato in una funzione Wicket che viene chiamata ripetutamente, il codice JS viene eseguito più volte e aumenta linearmente. – Srikanta
come notato in questione, la versione di wicket è 6 – user1328889