我正在通过javascript打开一个弹出窗口。我正在尝试设置一些显示参数 - 特别是我们要隐藏位置和状态栏,但是我测试过的每个浏览器都会显示位置和状态栏。
我的代码如下所示:
newwindow=window.open(url,'name','height=250,width=290,left=200,top=200,location=no,resizable=yes,scrollbars=yes,toolbar=no,status=no');
有什么想法吗?客户端坚持使用弹出窗口,而不是悬停工具提示。
答案 0 :(得分:4)
出于安全原因,浏览器已停止侦听某些参数。例如,FF3 +和IE6 / 7+强制使用位置栏来防止诈骗者冒充他们不是的网站。
相关:The Internet Explorer 7 Security Status Bar
每当您访问任何网站时,您都应该查看该网站的完整地址(URL),以了解您正在查看的网站。 IE7通过在每个窗口中强制执行地址栏来帮助您,但您仍可能需要滚动它或最大化窗口才能查看完整地址。
如果您需要更多的自由,并且碰巧对用户的计算机有一些控制权(例如在封闭的内部网中),那么有Mozilla Prism等解决方案可以让网站出现而非像桌面应用程序。但这些是高度专业化的解决方案,不适合普通的网站。
答案 1 :(得分:3)
是的,一些参数被禁用。原因是不应该打开假装成其他东西的窗口。
具体规则取决于浏览器,页面范围(内部网/公共)和用户设置。大多数浏览器都不会删除地址栏,因此您可以随时查看该页面的来源。
您可以在此处阅读restrictions in Internet Explorer。
一些引言:
“适用于Windows XP的Internet Explorer 6 SP2需要窗口标题 栏和状态栏总是在 显示器的可见区域;如果 显示地址栏,它也必须 仍然可见。放置这些 对脚本打开的窗口的限制, Window Restrictions安全性 功能可防止恶意代码 隐藏信息和欺骗 用户界面。窗户 限制功能默认打开 用于Internet区域和功能 默认情况下,本地关闭 Intranet和可信站点区域。“
和
“状态栏是互联网 Explorer安全功能 为用户提供Internet Explorer安全区域信息。 在Internet Explorer 6之前 Windows XP SP2,状态栏可以 通过脚本向用户隐藏 调用window.open方法。同 状态栏隐藏在视图中,用户 可以被欺骗去思考 他们在一个受信任的网站上 实际上是与...互动 恶意主机。
有窗口限制, 状态栏无法关闭 window.open创建的任何窗口 方法;它总是对所有人都可见 Internet Explorer窗口。区域 状态栏的信息 包含不能被欺骗或隐藏 从视图,使用户始终 知道在什么安全区 正在显示内容。“
这是关于IE 6的,就像它被引入时一样。 IE 7中有一些变化,但这主要与导航的变化有关,使open
命令的某些参数工作方式不同或过时。
答案 2 :(得分:1)
由于安全模型的变化,不可能再拥有一个完全无铬的弹出窗口,并且只会忽略试图剥离所有镀铬的操作。你有没有考虑过使用JQuery来创建一个皮肤看起来像窗口的伪弹出窗口,给它拖动处理程序和一个关闭按钮?你可以优雅地降级到标准弹出窗口。
答案 3 :(得分:1)
进一步触及FatherStorm所说的,这里有一些选择:
答案 4 :(得分:0)
大多数浏览器默认显示位置栏和状态栏,并且无法覆盖window.status
。这样做是为了安全(防止网络钓鱼)。
答案 5 :(得分:0)
有关用户如何更改设置的更具体信息,该设置允许通过Javascript将状态和/或地址设置为隐藏或可见:
从IE安全标签的“自定义级别”对话框 - 向下滚动到:
“允许网站打开没有地址或状态栏的窗口”
根据是否将其设置为“禁用”或“启用” - 您将看到应用程序的不同行为。
据我所知,这适用于IE7,IE8和IE9