Аз съм сравнително нов в 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" към крайния резултат. Това лоша практика ли е или приемливо?
Благодаря за всякакви съвети.
click()
, който изпълняваwindow.open($(this).attr('href'), '_blank')
. Той все още използва името_blank
, но не добавя атрибута към вашия HTML. - person alex   schedule 05.03.2010