网络应用程序,我在其中使用一些弹出窗口打开一些页面。为此,我正在使用像这样的方法
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();
}
现在它显示地址栏的工作正常。但我的要求是我必须在所有弹出窗口中隐藏地址栏。这可能吗?请提供一个解决方案帮助。感谢davance ..
答案 0 :(得分:2)
不,这是不可能的。 IIRC在IE 6中引入了安全功能。
以下是一些早期的讨论:
How can I hide the address bar in a modal dialog?
Can't hide status bar when doing windows.open on IE8
Popup window, how to Hide URL bar in IE8
答案 1 :(得分:1)
这取决于您尝试使用的浏览器。
较旧的浏览器会允许这样做,但是现在有一天,更多次,浏览器会继续显示地址栏。其中一个原因是让用户认为你正在展示一个真正的应用程序(病毒扫描程序?!?)而不是网站更加困难。
答案 2 :(得分:1)
无论如何使用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();