Ich versuche, Safari oder IE7 zu zwingen, eine neue Seite über eine neue Registerkarte zu öffnen .
Programmatisch meine ich so etwas wie:
window.open('page.html','newtaborsomething');
javascript
internet-explorer-7
safari
tabs
Ricardo Vega
quelle
quelle
Antworten:
Sie können dies nicht direkt steuern, da dies eine Option ist, die von Internet Explorer-Benutzern gesteuert wird.
Das Öffnen von Seiten mit Window.open mit einem anderen Fensternamen wird in einem neuen Browserfenster wie einem Popup geöffnet ODER in einem neuen Tab geöffnet, wenn der Benutzer den Browser dafür konfiguriert hat.
quelle
Sie können in Firefox das Attribut target = "_ newtab" zum Anker hinzufügen, um das Öffnen einer neuen Registerkarte zu erzwingen.
In Javascript können Sie verwenden
Das gesagt, ich stimme Sam teilweise zu. Sie sollten den Benutzer nicht zwingen, neue Seiten oder neue Registerkarten zu öffnen, ohne ihm einen Hinweis darauf zu geben, was passieren wird, bevor er auf den Link klickt.
Lassen Sie mich wissen, ob es auch in einem anderen Browser funktioniert (ich habe derzeit keine Möglichkeit, es in einem anderen Browser als Firefox zu testen).
Bearbeiten: Referenz für ie7 hinzugefügt Vielleicht kann dieser Link nützlich sein
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
quelle
Diejenigen von Ihnen, die versuchen, Folgendes zu verwenden:
sollte sich wirklich die window.open-Methode ansehen.
Sie weisen den Browser lediglich an, ein neues Fenster mit dem Namen "_newtab" zu öffnen und page.html darin zu laden. Jede neue Seite, die Sie laden, wird in dieses Fenster geladen. Wenn ein Benutzer seinen Browser so eingestellt hat, dass neue Seiten in neuen Registerkarten anstelle neuer Fenster geöffnet werden, wird eine Registerkarte geöffnet. Unabhängig davon wird für das Fenster oder die Registerkarte derselbe Name verwendet.
Wenn Sie möchten, dass verschiedene Seiten in verschiedenen Fenstern oder Registerkarten geöffnet werden, müssen Sie den NAMEN des neuen Fensters / der neuen Registerkarte in einen anderen Namen ändern, z.
Natürlich kann der Name für das neue Fenster / die neue Registerkarte ein beliebiger Name wie Seite1, Seite2, Seite3 usw. anstelle von _newtab2 sein.
quelle
Es ist Sache des Benutzers, ob er neue Registerkarten oder neue Fenster verwenden möchte. Es ist nicht Sache des Entwicklers, dieses Verhalten zu ändern. Ich glaube nicht, dass du es schaffen kannst.
Pet Peeve von mir - ich hasse es, wenn Websites mich zwingen, in einem neuen Fenster / Tab zu öffnen - ich bin durchaus in der Lage, diese Entscheidung für mich selbst zu treffen. Besonders wenn sie es in Javascript machen - das ist wirklich nicht hilfreich.
quelle
Hast du schon mal versucht wie
quelle
Ich habe es in Chrome herausgefunden.
wird nur einmal funktionieren.
Sie können verwenden:
So öffnen Sie mehrere neue Registerkarten.
quelle
Der Code, den ich mit jQuery verwende:
Dies ist nützlich, um zwischen den Klickereignissen eines Elternteils in einem Kind zu unterscheiden. Mit dieser Methode lösen Sie das Klickereignis des übergeordneten Elements nicht aus.
quelle
<a href="page.html" target="_blank">foo</a>
Dies funktioniert zu 100%
window.open('http://www.google.com/','_newtab' + Date.now());
quelle
Wenn Sie möchten, können Sie diese Methode verwenden, die etwas hackig ist, aber die gewünschte Funktionalität bietet:
quelle
Dies kann funktionieren, wenn Sie eine Batch-Datei aufrufen können (ich verwende PHP mit XP SP2 und IE8 ... Sie können IE7 versuchen, keine Ahnung). Verwenden Sie Folgendes (oder ähnliches) in Ihrer .bat-Datei, um Windows zu öffnen: Starten Sie "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". Zwischen dem Anführungszeichen und C: \ Progr ... usw. ist kein Leerzeichen. Irgendwann werden möglicherweise neue Fenster (dh target = "_ blank") anstelle neuer Registerkarten geöffnet, dies funktioniert jedoch bis zu einem gewissen Punkt. nicht ausgiebig getestet. Um dies in einer regulären Batchdatei (CMD.exe) zu verwenden, muss wahrscheinlich bereits ein Fenster geöffnet sein. Ich habe nur etwas geteilt, über das ich gestolpert bin. Zur Verdeutlichung EDITIERT.
quelle
Funktioniert in IE7.
Grüße,
Glenn
quelle