Другой альтернативой является создание URL с помощью createLink с использованием текущих: actionName , controllerName и params .
Logout
Это создаст абсолютный URL, из-за absolute:true
.
Также стоит упомянуть, что использование целевого атрибута недопустимо в формате xhtml. Я обычно открываю ссылки во внешнем окне или вкладке, потому что я вижу, что большинство обычных пользователей (не продвинутых) хотят этого так, чтобы они всегда могли вернуться на сайт, на котором они были - обычно они уходят глубоко в другой сайт и тогда им становится недружелюбно обращаться к ним несколько раз.
Таким образом, с точки зрения удобства использования, я думаю, что есть больше пользователей, которые не используют специальные методы для ручного открытия ссылок в новом окне / вкладке.
Что касается валидации xhtml, вы можете захотеть украсить свои ссылки с помощью rel = "external" или какого-либо подобного слова, а затем использовать эту функцию JS для обработки открытия нового окна. Я делал это примерно 99% времени за последние несколько лет.
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
/**
DOCUMENT LOAD
**/
$(document).ready(function () {
/**
external links
**/
externalLinks();
....
нашли это на сайте w3c
Контрольные точки в этом разделе:
• 10.1 Пока пользовательские агенты не разрешат пользователям отключать порожденные окна, не вызывайте всплывающие окна или другие окна появляются и не меняют текущее окно без уведомления пользователя. [Приоритет 2] Разработчики контента должны избегать указания нового окна в качестве цели фрейма с target = "_ blank".
Более подробная информация здесь
Вопрос, который вы должны задать своему клиенту: «На какой уровень приоритета вы стремитесь достичь?»