Я довольно новичок в jquery, и у меня не было много времени, чтобы узнать больше, и мне было интересно, сможет ли кто-нибудь мне помочь. Вот код, который я вытащил из разных мест:
$("a").filter(function() {
return this.hostname && this.hostname !== location.hostname;
})
.attr({
target: "_blank"
});
$('a[rel*="external"]').live('click',function(){ this.target='_blank'; });
Я делаю это всякий раз, когда есть тег A с href = "http://", тогда он добавляет target =" _ blank "к нему. Если href =" http://" следует за URL-адресом веб-сайта, на котором вы находитесь, тогда это не добавит target = "_ blank". Кроме того, если я хочу, чтобы внутренняя страница открывалась в новом окне, я бы добавил rel = "external" в тег A, который затем преобразуется в target = "_ blank" на живом сайте.
Как я могу сделать так, чтобы, если у меня был поддомен, он также не открывался как внешняя страница. Скажем, мой URL-адрес - example.com, а поддомен - test.example.com. Поэтому, если я сделаю ссылку с example.com на test.example.com, я не хочу, чтобы она открывалась в новом окне. Также с test.example.com на example.com Я бы не хотел, чтобы он также открывался в новом окне.
И это даже хороший подход? Я пишу свои сайты в формате xhtml 1.1 и стараюсь, чтобы страницы были действительными. Это пройдет проверку, но все равно добавит target = "_ blank" к конечному результату. Это плохая практика или приемлемо?
Спасибо за любой совет.