Вопрос

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

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

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

Это было полезно?

Решение

В любом случае использовать 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();

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top