2010-11-22 161 views
0

网络应用程序,其中我使用一些弹出窗口来打开一些页面。对于这一点,我使用的方法是这样弹出窗口中隐藏地址栏

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

没有单一的解决方案,将与所有浏览器 – stillstanding 2010-11-22 07:54:29

+0

工作,但我需要的在ie中工作的解决方案。 – MAC 2010-11-22 07:57:15

回答

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

这取决于您试图完成此与浏览器。

老的浏览器会允许这个,但现在一天,更多的时间,浏览器将不断显示地址栏。其中一个原因是让用户认为你显示的是真正的应用程序(病毒扫描程序?!?)而不是网站更加困难。