Скрытие адресной строки во всплывающем окне

net, в котором я использую всплывающие окна для открытия некоторых страниц. Для этого я использую такой метод

private void OpenWindow(string Url, string height, string Width)
{
    try
    {
        string strScript = "";
        strScript += "<script language=\"javascript\">";
        strScript += "eval(\"popUpWindow('" + Url + "',0,0," + Width + "," + height + ",directories=no)\");";
        strScript += "</script>";
        lblScript.Text = strScript;
    }
    catch (Exception ex)
    {
        LogError.Log(ex);
        throw;
    }
}

Функция JavaScript выглядит следующим образом:

var popUpWin = 0;

function popUpWindow(URLStr, left, top, width, height, windowName) {
    left = (screen.width / 2) - width / 2;
    top = (screen.height / 2) - height / 2;
    if (popUpWin) {
        if (!popUpWin.closed)
            popUpWin.close();
    }
    popUpWin = open(URLStr, windowName, 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width=' + width + ',height=' + height + ',left=' + left + ', top=' + top + ',screenX=' + left + ',screenY=' + top + '');
    popUpWin.focus();
}

Теперь он работает нормально с отображением адресной строки. Но мое требование состоит в том, что я должен скрыть адресную строку во всех всплывающих окнах. Это возможно? Пожалуйста, помогите, предоставив одно решение. спасибо в давансе..


person MAC    schedule 22.11.2010    source источник
comment
нет единого решения, которое будет работать со всеми браузерами   -  person bcosca    schedule 22.11.2010
comment
но мне нужно решение, которое работает в ie.   -  person MAC    schedule 22.11.2010


Ответы (3)


В любом случае используйте System.Text.StringBuilder вместо конкатенации строк.

var sb = new StringBuilder();
sb.Append("<script language=\"javascript\">");
sb.AppendFormat("eval(\"popUpWindow('{0}',0,0,{1},{2},directories=no)\");", url, width, height);
sb.Append("</script>");
lblScript.Text = sb.ToString();
person abatishchev    schedule 22.11.2010

Нет, это невозможно. IIRC функция безопасности была введена в IE 6.

Вот некоторые более ранние обсуждения:

Как скрыть адресную строку в модальном диалоговое окно?
Не удается скрыть строку состояния при выполнении windows.open в IE8
Всплывающее окно, как скрыть адресную строку в IE8

person Guffa    schedule 22.11.2010

Это зависит от браузера, в котором вы пытаетесь это сделать.

Старые браузеры позволяли это, но теперь браузер будет чаще показывать адресную строку. Одна из причин этого состоит в том, чтобы сделать так, чтобы пользователь не подумал, что вы показываете реальное приложение (антивирусный сканер?!?) вместо веб-сайта.

person Pieter van Ginkel    schedule 22.11.2010