I'm próbuje otworzyć URL w nowej karcie, w przeciwieństwie do wyskakującego okna.
I've widziałem powiązane pytania, w których odpowiedzi wyglądałyby coś w stylu:
window.open(url,'_blank');
window.open(url);
Ale żaden z nich nie działał dla mnie, przeglądarka wciąż próbowała otworzyć wyskakujące okno.
Autor nie może w żaden sposób zdecydować się na otwieranie w nowej karcie zamiast w nowym oknie; jest to preferencja użytkownika.
CSS3 proponował target-new, ale specyfikacja została porzucona.
Odwrotność** nie jest prawdą; poprzez określenie wymiarów okna w trzecim argumencie window.open()
, można wywołać nowe okno, gdy preferowane są zakładki.
Aby rozwinąć odpowiedź Stevena Spielberga, zrobiłem to w takim przypadku:
$('a').click(function() {
$(this).attr('target', '_blank');
});
W ten sposób, tuż przed tym jak przeglądarka podąży za linkiem, ustawiam atrybut target, dzięki czemu link otworzy się w nowej karcie lub oknie (**zależy od ustawień użytkownika').
Myślę, że nie możesz tego kontrolować. Jeśli użytkownik skonfigurował swoją przeglądarkę tak, aby otwierała linki w nowym oknie, nie możesz'zmusić go do otwierania linków w nowej karcie.
https://stackoverflow.com/questions/726761/javascript-open-in-a-new-window-not-tab