[英]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>
這樣做的目的是打開一個新的全屏窗口,然后用戶可以調整大小/關閉/移動等等。但是,在某些條件下,鏈接實際上打開了一個看似是信息亭模式的窗口(沒有標題欄, F11 , Esc無法退出)。 需要說明的是,此鏈接所在的頁面是普通用戶啟動的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開發工具,我編輯了鏈接和位置,並確定當鏈接從ourproductiondomain
到ourproductiondomain
時,它似乎專門在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中開發的,但我認為這並不重要,因為上面呈現的標記在兩個部署中完全相同。
有人知道可能會發生什么嗎? 如果這個問題過於寬泛,那么我認為這可能會指向正確的方向:
這聽起來像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.