Wenn ein Benutzer auf einen Link klickt, muss ich ein Feld in einer Datenbank aktualisieren und dann den angeforderten Link in einem neuen Fenster öffnen. Das Update ist kein Problem, aber ich weiß nicht, wie ich ein neues Fenster öffnen soll, ohne dass sie auf einen anderen Hyperlink klicken müssen.
<body onLoad="document.getElementById('redirect').click">
<a href="http://www.mydomain.com?ReportID=1" id="redirect" target="_blank">Report</a>
</body>
javascript
Phillip Senn
quelle
quelle
target="_top"
öffnet nicht in einem neuen Fenster -target="_blank"
tut.Antworten:
Der zweite Parameter ist optional und der Name des Zielfensters.
quelle
window.open
macht wastarget="_blank"
macht - es öffnet die URL in einem neuen Fenster.Dies könnte helfen
quelle
Ich weiß, dass dies ein abgeschlossenes Geschäft ist, aber hier ist, was ich verwende, um das Problem in meiner App zu lösen.
Grundsätzlich wird hier geprüft, ob der Link ein
target=_blank
Attribut hat. Wenn dies nicht der Fall ist, wird der Link nicht ausgelöst, so eingerichtet, dass er in einem neuen Fenster geöffnet wird, und dann programmgesteuert darauf geklickt.Sie können noch einen Schritt weiter gehen und das Stoppen des ursprünglichen Klicks überspringen (und Ihren Code wesentlich kompakter gestalten), indem Sie Folgendes versuchen:
Wenn Sie jQuery verwendet haben, um die Implementierung des Hinzufügens eines Attribut-Cross-Browsers zu abstrahieren, sollten Sie dies anstelle von
e.target.setAttribute("target", "_blank")
:Möglicherweise müssen Sie es überarbeiten, um es genau an Ihren Anwendungsfall anzupassen, aber so kratzte ich meinen eigenen Juckreiz.
Hier ist eine Demo in Aktion, mit der Sie sich anlegen können.
(Der Link in jsfiddle kehrt zu dieser Diskussion zurück. Es wird kein neuer Tab benötigt :))
quelle
Ich persönlich bevorzuge die Verwendung des folgenden Codes, wenn es sich um einen einzelnen Link handelt. Andernfalls ist es wahrscheinlich am besten, wenn Sie eine Funktion mit ähnlichem Code erstellen.
Ich begann damit, den strengen XHTML-Test des W3C zu umgehen.
quelle
So mache ich das mit jQuery. Ich habe eine Klasse für jeden Link, den ich in einem neuen Fenster öffnen möchte.
quelle
Sie können die href aus dem a-Tag extrahieren:
quelle
Dies kann Ihnen helfen, alle Seitenlinks zu öffnen :
Es werden alle
<a href="" class="myClass"></a>
Linkelemente zu einem anderen Tab geöffnet, als hätten Sie auf jeden einzelnen geklickt.Sie müssen es nur in die Browserkonsole einfügen. jQuery-Framework erforderlich
quelle