几个月来,我们一直在使用代码,在用户登录时打开一个新的单独窗口,传递特定选项以使其伪全屏,并删除我们可以删除的任何 UI,以便我们为应用程序获得尽可能多的屏幕空间有可能。
然后,最新的 Chrome 更新出现了问题...
当人们登录并弹出新窗口并且启动新窗口的旧选项卡关闭时,我们正在丢失 session 。如果我们让父选项卡保持打开状态,它将正常工作。一旦我们在任何时间点手动关闭父选项卡,即使在子窗口上工作了 10 分钟,我们也会丢失 session 。
那么我们该如何解决这个问题呢?目前,我们正在努力让用户使用仍能正常运行的旧版 Chrome,但这不可能永远持续下去!
关于如何打开子窗口的代码:
var params = [
'height='+(screen.availHeight-30),
'width='+(screen.availWidth-12),
'scrollbars=no',
'resizable=yes',
'status=no',
'toolbar=no'
].join(',');
var win = window.open('app-desktop.html', '_blank', params);
win.moveTo(0,0);
当然,一种解决方案是不关闭父选项卡,但这是不可取的。
最佳答案
我们在这里面临着同样的问题。您必须使用 --app=%url 在应用程序模式下启动 chrome,然后它才能工作。但你失去了控制按钮。
关于javascript - 谷歌浏览器 : Not passing session to new open window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21167134/