由JavaScript启动的IE Window在kiosk模式下意外发生

问题描述 投票:0回答:1

Summary

我正在开发一个包含以下链接标记的内部Web应用程序:

<a onclick="window.open('/path/to/my/new/page', 'windowname', 'fullscreen,resizable').focus(); return false;" href="/path/to/my/new/page">
    Click here to open a fullscreen window.
</a>

这样做的目的是打开一个新的全屏窗口,然后用户可以调整大小/关闭/移动等等。但是,在某些条件下,链接实际上打开了一个看似是信息亭模式的窗口(没有标题栏,F11, Esc无法退出)。需要说明的是,此链接所在的页面是普通用户启动的IE 11,Windows 7.我们在Chrome 73,Windows 7或Edge,Windows 10中没有遇到此问题。

Additional Details

当部署到开发环境时,此启动链接按预期工作,其URL类似于https://mydevenv.local/mywebapp/(intranet),但在部署到我们的生产环境https://apps.ourproductiondomain.com/mywebapp/(仅可从我们的网络访问)时则不会。如果我们的组织为ourproductiondomain设置了特定于站点的设置,我不会感到惊讶,但我不知道从哪里开始寻找在kiosk模式启动设置。

使用IE开发工具,我编辑了链接和位置,并确定当链接从ourproductiondomainourproductiondomain时,它似乎专门在kiosk模式下启动。编辑https://google.com的链接会按照预期的常规全屏模式启动Google。将我的标记编辑到Google中也会按照预期的常规全屏模式打开我的新页面(链接完全符合https://apps.ourproductiondomain.com/mywebapp/path/to/my/new/page的要求)。

有趣的是,将fullscreen更改为height=600,width=800有一个标题栏,并允许用户控制窗口,但有缺陷的版本没有地址/位置栏,而功能版本。不是我非常关心的细节,但它可能有助于排除故障。

该应用程序是在ASP.NET MVC 5中开发的,但我认为这并不重要,因为上面呈现的标记在两个部署中完全相同。

Question

有人知道可能会发生什么吗?如果这个问题过于宽泛,那么我认为这可能会指向正确的方向:

  1. 你如何故意和一贯地使用JavaScript在IE 11中启动信息亭模式窗口?
  2. 在哪里可以使用特定于站点的设置配置IE 11,例如“启动全屏幕窗口实际上是自助服务终端模式窗口”?
javascript internet-explorer internet-explorer-11 kiosk-mode
1个回答
0
投票

这听起来像IE中的一个错误。出于安全考虑,不允许用户脚本在Kiosk模式下打开窗口。

听起来好像这里有一些自定义系统设置,虽然我不知道在哪里可以找到该设置。

可能的修复方法可能是明确指定您希望窗口框架的某些部分可见:

window.open('/path/to/my/new/page', 'windowname', 'fullscreen,toolbar=yes,location=no,statusbar=yes,menubar=yes,scrollbars=yes,resizable=yes')

此外,我看到您的原始脚本直接在新创建的窗口上使用.focus()。我认为你不需要它,并且觉得这可能是实际导致IE中的错误被触发的原因。

© www.soinside.com 2019 - 2024. All rights reserved.