簡體   English   中英

由JavaScript啟動的IE Window在kiosk模式下意外發生

[英]IE Window launched by JavaScript is accidentally in kiosk mode

摘要

我正在開發一個包含以下鏈接標記的內部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>

這樣做的目的是打開一個新的全屏窗口,然后用戶可以調整大小/關閉/移動等等。但是,在某些條件下,鏈接實際上打開了一個看似是信息亭模式的窗口(沒有標題欄, F11Esc無法退出)。 需要說明的是,此鏈接所在的頁面是普通用戶啟動的IE 11,Windows 7.我們在Chrome 73,Windows 7或Edge,Windows 10中沒有遇到此問題。

額外細節

當部署到開發環境時,此啟動鏈接按預期工作,其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中開發的,但我認為這並不重要,因為上面呈現的標記在兩個部署中完全相同。

有人知道可能會發生什么嗎? 如果這個問題過於寬泛,那么我認為這可能會指向正確的方向:

  1. 你如何故意和一貫地使用JavaScript在IE 11中啟動信息亭模式窗口?
  2. 在哪里可以使用特定於站點的設置配置IE 11,例如“啟動全屏幕窗口實際上是自助服務終端模式窗口”?

這聽起來像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中的錯誤被觸發的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM