BEARBEITEN:
Ich habe gelernt, dass die Verwendung eines anderen Werts als _blankNICHT in mobilen Browsern funktioniert, um neue Fenster / Registerkarten zu öffnen.
Wenn Sie beispielsweise ein neues Fenster / eine neue Registerkarte öffnen müssen:
Dies funktioniert in allen Browsern, auch in mobilen Browsern :
target="_blank".Dies funktioniert nicht auf mobilen Browsern, aber es funktioniert auf Desktop - Browsern:
target="new".
- -
Obwohl ich diesen hier habe, bin ich mir nicht sicher, ob es einen besseren Weg gibt, oder ob der Weg, den ich bekommen habe, der richtige / einzige Weg ist.
Grundsätzlich ersetze ich alle target="_new"oder target="_blank"Attributwerte durch target="nw". Auf diese Weise wird nur ein neues Fenster geöffnet und darin werden alle anderen neuen Fenster geöffnet, um den Benutzer nicht mit mehreren Fenstern zu überfordern.
Ich füge auch ein Attribut " In einem neuen Fenster öffnen " hinzu title="".
Die Lösung, die ich erstellt habe, ist folgende:
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
Beachten Sie die beiden .attr();Methoden.
Ist dies der richtige Weg, um einem Element zwei Attribute hinzuzufügen?
Ich habe es versucht, .attr('target','nw','title','Opens in a new window')aber es hat nicht funktioniert.
Der Grund, den ich frage, ist das DYR-Prinzip (Don't Repeat Yourself). Wenn ich also meinen Code verbessern kann, großartig, wenn nicht, dann ist es das, was es ist.
Vielen Dank.
.attr('a,b','value')es nicht funktioniert. Ich habe mich .attr('a',1).attr('b',1)auch entschieden. Weniger auf neue Fenster angewiesen zu sein, könnte ein anderer Ansatz sein, in Ihrem Fall jedoch @ricardozea: P