【问题标题】:Javascript Window.Open: Chrome is not honoring Toolbars , back/forth navigation buttonsJavascript Window.Open:Chrome 不支持工具栏、前后导航按钮
【发布时间】:2020-10-22 10:11:20
【问题描述】:

我有 2020 年最新版本的 Chrome 版本 86.0.4240.111。 当我在 Typescript Angular 中运行 Window.Open 命令时,它不支持工具栏。我需要后退/前进导航按钮。我怎样才能让 Chrome 跟随这个?

const strWindowFeatures = `location=yes,height=${screen.height},width=${screen.width},fullscreen=yes,toolbar=yes,scrollbars=yes,resizable=yes`;
var newWindow = window.open('http://www.cnn.com', 'test', strWindowFeatures);
newWindow.moveTo(0, 0);  
 

上面没有来回箭头

【问题讨论】:

  • 不应该是toolbar而不是toolbars吗?
  • 嗨@MichałTkaczyk 输入错误的问题,它仍然无法正常工作
  • 您能附上您新打开的窗口的屏幕截图吗?我很好奇它长什么样。
  • 添加了抄送@MichałTkaczyk

标签: javascript angular typescript google-chrome window.open


【解决方案1】:

根据MDN window.open#Toolbar_and_UI_parts_features:

在现代浏览器(Firefox 76 或更新版本、Google Chrome、Safari、Chromium Edge)中,以下功能只是是否打开弹出窗口的条件。请参阅弹出条件部分。

并根据popup condition:

大多数现代浏览器(如下所列)不允许网页内容单独控制 UI 部件的可见性。

  • Firefox 76 或更新版本
  • 谷歌浏览器
  • 野生动物园
  • 铬边

windowFeatures 的 UI 相关项用作打开弹出窗口或新选项卡或新窗口的条件,并且每个项的 UI 部件可见性都是固定的。

条件依赖于实现,不保证稳定。

所以,我猜你正在打开一个弹出窗口,因此,谷歌浏览器不允许在导航栏中显示其他 chrome 的元素。这可能是为了区分弹出窗口和新标签。

将这些选项传递给window.open 将创建一个弹出窗口而不是普通选项卡,但如果不是出于上述原因,其中一些似乎并没有真正使用。

  • 菜单栏
  • 工具栏
  • 位置
  • 状态
  • 可调整大小
  • 滚动条

希望这对你有用。

【讨论】:

  • 那么解决办法是什么?
  • 我认为实际上没有。我认为这个规范是一个相当古老的东西,还没有更新到今天的用法和案例(例如,弹出窗口比现在更宽容),所以我认为它实际上并不可靠(就像许多其他浏览器一样 -依赖的东西)。反正我可能错了。
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
  • 1970-01-01
  • 2020-02-19
  • 1970-01-01
相关资源
最近更新 更多