Скрытие адресной строки во всплывающем окне
Сетевое приложение, в котором я использую некоторые всплывающие окна, чтобы открыть несколько страниц. Для этого я использую такой метод
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();
}
Теперь он работает нормально с отображением адресной строки. Но мое требование заключается в том, что мне нужно скрыть адресную строку во всем моем всплывающем окне. Это возможно? Пожалуйста, помогите, предоставив одно решение. спасибо в давансе..
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();
Нет, это невозможно. IIRC функция безопасности была введена в IE 6.
Вот некоторые предыдущие обсуждения:
Как я могу скрыть адресную строку в модальном диалоге?
Не удается скрыть строку состояния при выполнении windows.open на IE8
Всплывающее окно, как скрыть строку URL в IE8
Это зависит от браузера, с которым вы пытаетесь это сделать.
Старые браузеры позволяют это, но теперь дни, чаще всего, браузер будет показывать адресную строку. Одной из причин этого является усложнение того, чтобы заставить пользователя думать, что вы показываете настоящее приложение (антивирусный сканер?!?) Вместо веб-сайта.