Target = '_ blank', чтобы показать в новом окне, а не новую вкладку, возможно?

Как я могу это сделать?

В firefox ссылка открывается в новой вкладке... Я не хочу, чтобы пользователям приходилось устанавливать настройки своих браузеров для этого...

Я хочу, чтобы всплывающее окно появлялось в форме контакта, когда пользователь нажимает "контакт" на моей главной странице.

Как мне это сделать?

Ответы

Ответ 1

Вы не можете контролировать это - это полностью по усмотрению пользователя-агента; в конце концов, это точка. Все, что вы можете указать, заключается в том, что страница открывается в другом контексте viewpane, и это зависит от пользователя, чтобы решить, как они хотят, чтобы ваше окно занимало их экранное пространство/список панели задач/ярлыки Alt-Tab и т.д.

На самом деле я бы пошел еще дальше и скажу, что если вообще возможно, вам не следует открывать новую вкладку/окно вообще. Я знаю, что я немного раздражаюсь, когда сайты делают это, и он чувствует себя немного неуклюжим и в 1990-х годах, что со всеми Ajax и плавающими div и магией, которые мы имеем сейчас.

Ответ 2

Это нормально работает

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

Для всех параметров см. window.open

Ответ 3

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

Ответ 4

Я считаю, что это параметр только для браузера, который нельзя установить из HTML или Javascript.

Ответ 5

Лучший способ открыть новое окно в 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>

Ответ 6

Если вы хотите использовать эту вещь, используя Code Behind, тогда она также будет работать...

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);
        }
    }
}

Подтверждено: http://www.codeproject.com/Tips/317410/Response-Redirect-into-a-new-window

Ответ 7

Вы не можете управлять этим.

Но вы можете попробовать открыть его в новом окне, а затем показать альтернативное решение, если браузер отклонит попытку.

Вы можете выполнить это, проверив возвращаемое значение window.open().

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: https://developer.mozilla.org/en-US/docs/Web/API/Window/open

Ответ 8

Это также простой способ, но ссылка не отображается, она подходит для действия кнопки

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

Ответ 9

Вы не можете указать ссылку на новой вкладке - помните, что не все браузеры поддерживают вкладки!