Я пытаюсь заставить это работать, в методе renderHead Wicket параметр IHeaderResponse в ответ передает javascript, чтобы показать соответственно скрытые ссылки на вызывающей родительской странице.Это часть мобильного веб-приложения, которое обслуживается через сервер Apache Tomcat.
StartPage.html, (вызывающая родительская страница, где ссылки, которые должны быть скрыты / показаны)
<li class="ui-block-e">
<a wicket:id="logoutlink" id="logout" href="#" data-theme="a" class="ui-btn-corner- all ui-btn ui-btn-up-a ui-btn-icon-top">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">Logga ut</span>
<span class="ui-icon ui-icon-custom"></span>
</span>
<a wicket:id="loginlink" id="login" href="/domain/mobile/login" data-theme="a" class="ui-btn-corner-all ui-btn ui-btn-up-a ui-btn-icon-top">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">Logga in</span>
<span class="ui-icon ui-icon-custom"></span>
</span>
</a>
</li>
LoginRedirectPage.java, (страница, содержащая перенаправления js)
@Override
public void renderHead(IHeaderResponse response) {
log.info("Redirecting to " + redirectUrl);//to check via log
// if the parent is the mobile app..
response.renderOnDomReadyJavascript(
"if(parent && parent.$ && parent.$.mobile){" +
"parent.$('#logout').show();" +
"parent.$('#login').hide();" +
"parent.history.go(-2);" +
"console.log('redirecting with jqm "+redirectUrl+"');" +//logging
"}");
Однако, (увидела это, да!?),
строки "parent. $ ('# Logout').шоу();"и "parent. $ ('# login'). hide ();"
делает то, что они должны делать в браузере (через ПК), ссылка для выхода из системы включена, а ссылка для входа скрыта (если пользователь вошел в систему).
Но при выполнении этого через телефон Android ссылки не показаны / скрыты, как и должно быть, ссылка для входа в системувсе еще сидит там.Как будто я не вошел в систему, хотя в журналах видно, что я вошел в систему.
Константа "redirectUrl" в этом случае указывает на StartPage.html.
ПоКстати, я также пытался использовать JS старого стиля, напр."parent.document.getElementById ('logout'). style.display = 'block';", безрезультатно.
Заранее спасибо.
// Kalle