Открыть новую вкладку при нажатии кнопки

используя калитку, я хочу открыть новую вкладку при нажатии кнопки или ссылки, как мне этого добиться?

то, что мне удалось сделать, это открыть его во всплывающем окне следующим образом:

 PopupSettings popupSettings = new  PopupSettings("popuppagemap").setLeft(0).setHeight(500).setWidth(500).setHeight(0);

    // Popup example
final Link<Void> setPopupSettings = new BookmarkablePageLink<Void>("searchBtn", HomePage.class)
   .setPopupSettings(popupSettings);

но это открывает его в новом окне.


person yoav.str    schedule 08.08.2013    source источник
comment
Вам нужно вызвать JavaScript. Посмотрите на этот ответ: stackoverflow. ком/вопросы/4907843/   -  person Robert Niestroj    schedule 08.08.2013


Ответы (3)


нет проблем, чтобы открыть ссылку в новой вкладке: просто добавьте к ссылке 'target="_blank"'.

final Link<Void> link = new BookmarkablePageLink<Void>("link", HomePage.class){
    @Override
    protected void onComponentTag(ComponentTag tag) {
        super.onComponentTag(tag);
        tag.put("target", "_blank");
    }
};
add(link);
person Community    schedule 10.08.2013
comment
Если тег для ссылки является тегом ‹a› (якорь), вы можете добавить цель в html, в этом случае нет необходимости переопределять onComponentTag. - person Buurman; 14.08.2013
comment
Не нужно делать это в коде, если вы не хотите контролировать когда это происходит. - person Brill Pappin; 13.09.2013

Это функция не Wicket, а вашего браузера и HTML в целом.

просто добавьте целевой тег к своей ссылке:

<a href="#" target="_blank" wicket:id="myCoolLink">My Cool Link</a>

Что на самом деле происходит при нажатии на ссылку, зависит от браузера. До того, как в браузерах появились вкладки, это открыло бы новое окно, теперь большинство браузеров откроют новую вкладку по умолчанию, однако вы не можете зависеть от этого, потому что эта функция не является обязательной.

person Brill Pappin    schedule 13.09.2013

Если вам нужна кнопка вместо ссылки, которая открывает новую вкладку, вы можете использовать:

html:

<a wicket:id="tabFormViewEmpBut"><button type="button">Click Me!</button></a>

А также

Java wicket:

final Link<Void> link = new BookmarkablePageLink<Void>("tabFormViewEmpBut", HomePage.class) {
   @Override
   protected void onComponentTag(ComponentTag tag) {
     super.onComponentTag(tag);
     tag.put("target", "_blank");
   }
};
add(link);
person guicey    schedule 01.05.2015