EDYTOWAĆ:
Dowiedziałem się, że używanie innej wartości niż _blankNIE DZIAŁA w przeglądarkach mobilnych do otwierania nowych okien / kart.
Na przykład, jeśli chcesz otworzyć nowe okno / kartę:
To działa na wszystkich przeglądarkach, nawet przeglądarek mobilnych:
target="_blank".To nie działa w przeglądarkach mobilnych, ale to działa na przeglądarkach desktopowych:
target="new".
-
Chociaż mam ten działający, nie jestem pewien, czy istnieje lepszy sposób na zrobienie tego, czy też sposób, w jaki go otrzymałem, jest właściwy / jedyny.
Zasadniczo to, co robię, to zastępowanie wszystkich wartości atrybutu target="_new"or target="_blank"na target="nw", w ten sposób otwarte jest tylko jedno nowe okno, aw nim wszystkie inne nowe okna, aby nie przytłoczyć użytkownika wieloma oknami.
Dodam też atrybut „ Otwiera się w nowym oknie ” title="".
Tak więc rozwiązanie, które stworzyłem, jest takie:
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
Zwróć uwagę na dwie .attr();metody.
Czy to jest właściwy sposób dodawania dwóch atrybutów do elementu?
Próbowałem, .attr('target','nw','title','Opens in a new window')ale to nie zadziałało.
Pytam o zasadę DYR (Don't Repeat Yourself), więc jeśli mogę ulepszyć kod, który mam, świetnie, jeśli nie, to tak właśnie jest.
Dzięki.
.attr('a,b','value')że nie działa. Ja też się zdecydowałem .attr('a',1).attr('b',1). Mniej polegania na nowych oknach może być innym podejściem, jednak w twoim przypadku @ricardozea: P