55

我必须隐藏浏览器的地址栏。我正在使用这段代码:

var winFeature =
        'location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes';
window.open('Result.html','null',winFeature);  

在许多解决方案中,只是location=no属性可以隐藏地址栏(在 IE 和 Chrome 中)。但是,这对我不起作用(即使在 IE 和 Chrome 中)。

最后,我找到了一篇 MSDN 文章,描述了如何location=no简单地隐藏后退/前进/停止导航按钮,并使地址栏只读

是否有任何解决方案可以通过忽略上面的 MSDN 文章来隐藏整个地址栏? 我正在 IE 和 Google Chrome 中进行测试。

4

11 回答 11

80

真相是什么?

Microsoft 描述其浏览器行为的文档是正确的。

有没有办法隐藏地址栏?

不。如果你可以隐藏它,那么你可以使用 HTML/CSS 来制作一个看起来像普通地址栏的东西。然后,您可以在其中输入不同的地址。然后,您可以欺骗人们认为他们在不同的站点上并输入他们的密码。

向他们隐瞒用户的位置是不可能的,因为他们知道自己的位置对于安全至关重要。

于 2013-04-10T12:42:51.887 回答
39

由于安全限制,这在现代浏览器中不再可能。

官方(-ish)来源:

  • 火狐

    在 Firefox 3 中,dom.disable_window_open_feature.location 现在默认为 true,从而强制显示位置栏,就像在 IE7 中一样。有关详细信息,请参阅错误 337344。

  • Internet Explorer 7 及更高版本

    在 Internet Explorer 6 中,位置指定是否显示地址栏。

    (暗示行为以 IE6 结尾)

  • 铬/铬

    Chrome 会忽略这些工具栏隐藏参数。您还会注意到,现代浏览器正朝着不将其隐藏为安全/反网络钓鱼措施的方向发展。另请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=337344

于 2013-05-17T07:40:35.820 回答
15

寻找相同的,我唯一能做的就是

在应用模式下启动Google Chrome

Chrome.exe --app="<address>"

从运行提示。例子:

Chrome.exe --app="http://www.google.com"

在Mozilla Firefox中隐藏地址栏

在地址栏输入about:config,搜索:

dom.disable_window_open_feature.location

并将其设置为false

因此,当您打开一个弹出窗口时,它将在隐藏地址栏的情况下启动。例如:

window.open("http://www.google.com",'','postwindow');

没有位置栏的火狐

应用模式下的 Chrome

现在,我希望用 Microsoft Edge 做一些类似的事情,我还没有找到任何关于这个浏览器的东西。

于 2016-08-09T14:41:14.730 回答
10

每个浏览器都不一样。

几年前,你的尝试是对的。但如今,浏览器供应商将无法看到浏览器地址栏(出于网络钓鱼原因)视为一种安全风险,因此他们(或大多数人)决定始终显示浏览器地址栏。在我看来这很好。

于 2013-04-10T12:43:08.287 回答
3

它不可能隐藏浏览器的地址栏。

于 2013-11-27T04:58:51.697 回答
2

没有明确的方法可以做到这一点。JS 可能有 API,但浏览器供应商可能选择不实现它或以其他方式实现它。

此外,据我所知,Opera 甚至提供了用户偏好以防止 JS 进行此类更改,例如移动窗口、更改状态栏内容等。

于 2013-04-10T12:42:09.737 回答
0

您可能无法隐藏它,但如果您正在寻找额外的空间,我所做的并且似乎工作是一件非常简单的事情,地址栏的高度为 60px,所以这是我的解决方案。

@media only screen and (max-width: 1024px){ // only from ipads down
  body{
    padding-bottom: 60px; // push your whole site same height upwards. ;)
  }
}
于 2016-08-18T14:27:19.457 回答
-1

您可以使用 Visual Basic 来完成,在表单上放置一个 Webbrowser 控件,加载一个打开弹出窗口的 html,Location=no它将打开一个没有地址栏的新浏览器。可能不是你要找的东西,只是想把它扔进去:)

于 2013-10-12T13:04:20.407 回答
-3

在构建 20.10240.16384.0 的 Edge 浏览器中,您可以通过在 window.open 功能中设置 location=no 来隐藏地址栏。

于 2015-09-21T19:02:32.907 回答
-3

这就是我对弹出窗口的处理方式,尽管它仅适用于 IE11,而不适用于 Chrome——尚未在 Firefox 中测试。

window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no');
于 2016-02-03T14:30:08.523 回答
-3

你可以让网页向下滚动到你看不到地址栏的位置,如果用户滚动,页面应该回到你设定的位置。这样,移动浏览器在向下滚动时,将尝试为您提供全屏体验。所以它会隐藏地址栏。我不知道代码,其他人可能会发布代码。

于 2018-06-19T06:19:55.860 回答