Frage

Ich versuche, eine neue Seite zu „zwingen“ Safari oder Internet Explorer 7 zu öffnen eine neue Registerkarte mit .

Programmatically Ich meine so etwas wie:

window.open('page.html','newtaborsomething');
War es hilfreich?

Lösung

Sie können nicht direkt diese steuern, da sie von dem Internet Explorer-Benutzer gesteuert eine Option.

Öffnungs Seiten Window.open mit einem anderen Fensternamen verwendet, wird wie ein Popup in einem neuen Browser-Fenster öffnen, ODER , öffnet in einem neuen Tab, wenn der Benutzer den Browser konfiguriert, dies zu tun.

Andere Tipps

Sie können in Firefox funktioniert, fügen Sie das Attribut target = „_ newtab“ den Anker, die Eröffnung einer neuen Tab zu erzwingen.

<a href="some url" target="_newtab">content of the anchor</a>

In Javascript können Sie

window.open('page.html','_newtab');

Sagte, dass ich teilweise mit Sam zustimmen. Sie sollten sich nicht erzwingen, dass Benutzer neue Seiten oder neuen Tab zu öffnen, ohne auf sie einen Hinweis zu zeigen, was passieren wird, bevor Sie auf den Link klicken.

Lassen Sie mich wissen, ob es auch auf anderen Browser funktioniert (ich es nicht eine Chance haben, um zu versuchen, auf andere Browser als Firefox im Moment).

Edit: hinzugefügt Referenz für IE7 Vielleicht kann diese Verbindung nützlich sein
http: // sozial. msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/

Die von Ihnen, versuchen, die folgenden verwenden:

window.open('page.html', '_newtab');

sollte auf der window.open Methode sehen wirklich.

Alles, was Sie tun, ist der Browser sagen, ein neues Fenster „_newtab“ und Last seite.html hinein GENANNT zu öffnen. Jede neue Seite finden Sie in diesem Fenster laden laden. Wenn jedoch ein Benutzer ihren Browser-Set hat neue Seiten in neu Tabs zu öffnen, anstatt neue Fenster, wird es eine Registerkarte öffnen. Egal, es ist den gleichen Namen für das Fenster oder Reiter.

Wenn Sie verschiedene Seiten wollen in verschiedenen Fenstern oder Tabs öffnen, werden Sie den Namen des neuen Fenster / Tab, um etwas anderes wie folgt zu ändern:

window.open('page2.html', '_newtab2');

Natürlich ist der Name für das neue Fenster / Tab einen beliebigen Namen wie page1 sein könnte, page2, page3 usw. statt _newtab2.

Es liegt an den Benutzer, ob sie neue Tabs oder neue Fenster verwenden möchten, ist es nicht das Geschäft des Entwicklers, dieses Verhalten zu ändern. Ich glaube nicht, können Sie es tun.

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 zu machen. Insbesondere dann, wenn sie es in Javascript tun -. Das ist wirklich nicht hilfreich

Haben Sie schon versucht, wie

var open_link = window.open('','_blank');
open_link.location="somepage.html";

Ich fand heraus, in Chrome,

window.open('page.html','_newtab')

wird nur einmal funktionieren.

Sie können mit:

window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));

mehr neue Registerkarten zu öffnen.

Der Code, den ich mit jQuery verwenden:

$("a.btn_external").click(function() {
    url_to_open = $(this).attr("href");
    window.open(url_to_open, '_blank');
    return false;
});

Dies ist nützlich, zwischen den Klick-Ereignissen von einem Elternteil in einem Kind zu unterscheiden. Mit dieser Methode, Sie das Ereignis Click der nicht auslösen Eltern.

Wenn Sie wollen Sie diese Methode verwenden könnten, die ein bisschen hacky ist, würden aber die gewünschte Funktionalität bieten:

jQuery('<a/>', {
    id: 'foo',
    href: 'http://google.com',
    title: 'Become a Googler',
    rel: 'external',
    text: 'Go to Google!',
    target:'_blank',
    style:'display:none;'
}).appendTo('#mySelector');

$('#foo').click()

Das funktioniert 100%

window.open('http://www.google.com/','_newtab' + Date.now());

Das kann funktionieren, wenn Sie eine Batch-Datei aufrufen können (ich benutze php mit XP sp2 und IE8 ... Sie können IE7 versuchen, weiß nich). Verwenden Sie die folgende (oder ähnliche) in der .bat-Datei von Windows zu öffnen: Start "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". Es gibt keinen Raum zwischen dem Anführungszeichen und C: \ Progr ... usw. An einem gewissen Punkt kann diese beginnen, neue Fenster zu öffnen (das heißt target = „_ blank“), anstatt neu Tabs, sondern arbeitet bis zu einem Punkt; nicht ausgiebig getestet. Um dies zu verwenden in einer regelmäßigen Batchdatei (CMD.exe), müssen Sie wahrscheinlich ein Fenster haben bereits geöffnet. Nur teilen etwas, das ich stolperte über. EDITED für die Klarstellung.

<a href="http://www.google.com/" target="_self">New Tab Example</a>

Werke in IE7.

Grüße,

Glenn

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top