Próbuję „zmusić” przeglądarkę Safari lub IE7 do otwarcia nowej strony przy użyciu nowej karty .
Programowo mam na myśli coś takiego:
window.open('page.html','newtaborsomething');
javascript
internet-explorer-7
safari
tabs
Ricardo Vega
źródło
źródło
Odpowiedzi:
Nie możesz tego bezpośrednio kontrolować, ponieważ jest to opcja kontrolowana przez użytkowników Internet Explorera.
Otwieranie stron za pomocą Window.open z inną nazwą okna otworzy się w nowym oknie przeglądarki, takim jak wyskakujące okienko, LUB otworzy się w nowej karcie, jeśli użytkownik tak skonfigurował przeglądarkę.
źródło
Możesz, w Firefoksie to działa, dodać atrybut target = "_ newtab" do zakotwiczenia, aby wymusić otwarcie nowej karty.
W javascript możesz użyć
Powiedziałem to, częściowo zgadzam się z Samem. Nie należy zmuszać użytkownika do otwierania nowych stron lub nowej karty bez pokazania mu wskazówki, co się stanie, zanim kliknie łącze.
Daj mi znać, czy działa również w innej przeglądarce (nie mam w tej chwili możliwości wypróbowania tego w innej przeglądarce niż Firefox).
Edycja: dodano odniesienie do ie7 Może ten link może być przydatny
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
źródło
Ci z was, którzy próbują wykorzystać następujące elementy:
powinien naprawdę spojrzeć na metodę window.open.
Wszystko, co robisz, to mówienie przeglądarce, aby otworzyła nowe okno O NAZWIE „_newtab” i załadowała do niego page.html. Każda nowa strona, którą załadujesz, zostanie załadowana do tego okna. Jeśli jednak użytkownik ma ustawioną przeglądarkę, aby otwierać nowe strony w nowych kartach zamiast w nowych oknach, otworzy kartę. Niezależnie od tego używa tej samej nazwy dla okna lub karty.
Jeśli chcesz, aby różne strony otwierały się w różnych oknach lub kartach, musisz zmienić NAZWĘ nowego okna / karty na inną, na przykład:
Oczywiście nazwa nowego okna / karty może być dowolną nazwą, taką jak strona1, strona2, strona3 itd. Zamiast _newtab2.
źródło
To od użytkownika zależy, czy chce używać nowych kart, czy nowych okien, modyfikowanie tego zachowania nie jest zadaniem programisty. Myślę, że nie możesz tego zrobić.
Moje wkurzenie - nienawidzę, gdy strony zmuszają mnie do otwierania w nowym oknie / karcie - jestem w stanie samodzielnie podjąć taką decyzję. Zwłaszcza gdy robią to w javascript - to naprawdę nie jest pomocne.
źródło
Czy już próbowałeś
źródło
Dowiedziałem się w Chrome,
zadziała tylko raz.
Możesz użyć:
Aby otworzyć wiele nowych kart.
źródło
Kod, którego używam z jQuery:
Jest to przydatne do rozróżnienia między zdarzeniami kliknięcia rodzica u dziecka. Używając tej metody, nie wyzwalasz zdarzenia kliknięcia rodzica.
źródło
<a href="page.html" target="_blank">foo</a>
To działa w 100%
window.open('http://www.google.com/','_newtab' + Date.now());
źródło
Jeśli chcesz, możesz użyć tej metody, która jest nieco hackerska, ale oferuje pożądaną funkcjonalność:
źródło
Może to zadziałać, jeśli możesz wywołać plik wsadowy (używam php z XP sp2 i IE8 ... możesz spróbować IE7, nie wiem). Aby otworzyć system Windows, użyj następującego (lub podobnego) pliku .bat: Uruchom "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". Nie ma spacji między cudzysłowem a C: \ Progr ... itd. W pewnym momencie może to spowodować otwarcie nowych okien (tj. Target = "_ blank") zamiast nowych zakładek, ale działa do pewnego momentu; nie były szeroko testowane. Aby użyć tego w zwykłym pliku wsadowym (CMD.exe), prawdopodobnie musisz mieć już otwarte okno. Dzielę się czymś, na co się natknąłem. ZMIENIONO w celu wyjaśnienia.
źródło
Działa w IE7.
Pozdrowienia,
Glenn
źródło