webentwicklung-frage-antwort-db.com.de

Target = '_ blank' in neuem Fenster anzeigen, NICHT neuer Tab, möglich?

Wie kann ich das machen?

In Firefox wird der Link in einem neuen Tab geöffnet. Ich möchte nicht, dass Benutzer die Einstellungen ihres Browsers dafür vornehmen müssen.

Ich möchte, dass ein Popup mit Kontaktformular angezeigt wird, wenn der Benutzer auf meiner Hauptseite auf "Kontakt" klickt.

Wie soll ich das machen?

18
user188962

Sie können dies nicht kontrollieren - dies liegt ganz im Ermessen des Benutzeragenten. das ist schließlich der Punkt. Sie können nur angeben, dass die Seite in einem anderen Kontext des Kontextbereichs geöffnet wird. Der Benutzer kann entscheiden, wie er das Fenster mit der Bildschirmfläche, der Taskleistenliste, den Alt-Tab-Verknüpfungen usw. belegen soll.

In der Tat würde ich noch weiter gehen und sagen, wenn überhaupt, sollten Sie es vermeiden, ein neues Tab/Fenster zu öffnen. Ich weiß, dass ich mich etwas ärgere, wenn Websites dies tun, und es fühlt sich ein bisschen unbeholfen an und die 1990er Jahre, was mit all dem Ajax und den schwebenden Divs und der Magie, die wir heutzutage haben, ankommt.

28
Andrzej Doyle

Das funktioniert gut

window.open(yoururl, "Popup", "location,status,scrollbars,resizable,width=800, height=800");

Für alle Parameter siehe window.open

20
M2012
<a href="javascript:window.open('http://example.com/popup.html','blank')">Contact</a>
12
Mark Byers

Ich glaube, dass dies eine Einstellung nur für Browser ist, die nicht über HTML oder Javascript festgelegt werden kann.

3
Joe

Sie können das nicht kontrollieren.

Sie können jedoch versuchen, in einem neuen Fenster zu öffnen, und eine alternative Lösung anzeigen, wenn der Browser den Versuch ablehnt.

Sie können dies erreichen, indem Sie den Rückgabewert von window.open () überprüfen.

var win = window.open(strUrl, strWindowName);
if (!win) {
    // Call failed. Handle it here. 
    // You can for example open content in a model or show a button that 
    // will open content in a new tab
}

window.open Dokumentation: https://developer.mozilla.org/en-US/docs/Web/API/Window/open

0
HoffZ

Als ich dieses Problem untersuchte, bemerkte ich, dass die "height" - und "width" -Abschnitte der window.open () - Funktion den Link in einem neuen Fenster und nicht in einem neuen Tab öffneten.

Um einen ähnlich großen Browser zu öffnen, habe ich nur window.innerHeight und window.innerWidth an die window.open () - Funktion übergeben.

Ich hätte gerade die Antwort von @ M2012 kommentiert, aber ich habe noch nicht genug Punkte ...

Hoffe das hilft!

0
vancy.pants

Dies ist auch ein einfacher Weg, aber der Link ist nicht sichtbar. Er ist für die Aktion der Tasten geeignet

<a onclick="window.open('print.html', 'newwindow', 'width=300,height=250');"> Print</a>
0
A.A Noman

Am besten öffnen Sie ein neues Fenster in HTML. 

<a href="#" onclick="MM_openBrWindow('http://www.google.com','','resizable=yes,width=800,height=600')"> Google</a>

<script>
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
</script>
0
Blackspade

Wenn Sie dieses Ding mit Code Behind verwenden wollen, wird es auch funktionieren ...

protected void lnkAddNewWorkout_Click(object sender, EventArgs e)
    {
  //  Response.Write("<script>window.open('MyCreatedWorkout.aspx','_blank');</script>");    //it Open in new tab

    ResponseHelper.Redirect("MyCreatedWorkout.aspx", "_blank", "menubar=0,width=700,height=700");

    }



 public static class ResponseHelper
    {
        public static void Redirect(string url, string target, string windowFeatures)
        {
            HttpContext context = HttpContext.Current;
        if ((String.IsNullOrEmpty(target) ||
            target.Equals("_self", StringComparison.OrdinalIgnoreCase)) &&
            String.IsNullOrEmpty(windowFeatures))
        {

            context.Response.Redirect(url);
        }
        else
        {
            Page page = (Page)context.Handler;
            if (page == null)
            {
                throw new InvalidOperationException(
                    "Cannot redirect to new window outside Page context.");
            }
            url = page.ResolveClientUrl(url);

            string script;
            if (!String.IsNullOrEmpty(windowFeatures))
            {
                script = @"window.open(""{0}"", ""{1}"", ""{2}"");";
            }
            else
            {
                script = @"window.open(""{0}"", ""{1}"");";
            }

            script = String.Format(script, url, target, windowFeatures);
            ScriptManager.RegisterStartupScript(page,
                typeof(Page),
                "Redirect",
                script,
                true);
        }
    }
}

Refrenced By: http://www.codeproject.com/Tips/317410/Response-Redirect-into-a-new-window

0
Durgesh Pandey