
在企業環境中,我們有一個僅使用 JavaScript 打開 Outlook 的應用程序,它從 iframe 執行以下程式碼:
top.location.href="mailto:[email protected]&subject=some subject"
當我在非生產環境中使用 Internet Explorer 11 時,出現以下警告,我可以單擊“允許”,一切都會正常。
(此圖片只是來自互聯網的範例,我們的網域未在網路上公開)
問題是對於生產環境(相同的應用程式版本),URL 不同。當我單擊同一連結時,我收到上面的消息,但“允許”按鈕已停用,我無法單擊它。
請注意,生產證書有效且簽名正確。
為什麼在生產環境中「允許」按鈕被禁用?
答案1
也許計算機之間的差異在於註冊表。
可以透過以下註冊表編輯來停用此提示:
HKCU:對於目前使用者:
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\ProtocolExecute\mailto]
"WarnOnOpen"=dword:00000000
HKLM:對於整台電腦:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute\mailto]
"WarnOnOpen"=dword:00000000
HKLM:對於 32 位元程式使用的整個 64 位元電腦:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ProtocolExecute\mailto]
"WarnOnOpen"=dword:00000000
如果您不希望完全停用 的提示mailto:
,您應該尋找其他差異,例如與安裝的安全軟體的差異。
答案2
簡單的英語答案:你的生產/企業系統更加偏執。他們可能有敏感內容和/或不相信用戶不會點擊內容,因此變得更加困難。
技術解答:
我相信這與 IE 安全區域和他們設定的 GPO 有關,該 GPO 會強化/覆蓋預設值,因此您需要在該生產要求中與網域管理員合作。他們可能希望將您的網站/網路應用程式添加到受信任的網站清單中或放鬆控制設置mailto
URI(Windows GUI 中的協定)。
區域/設定的 GUI 位置:Internet 選項、安全性,選擇 Internet 點選自訂級別,向下捲動到其他(約一半):
GPO 地點(取決於區域和使用者與電腦配置[覆蓋]):
Computer Configuration\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Security Page\Internet Zone\
Computer Configuration\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Security Page\Trusted Sites Zone\
User Configuration\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Security Page\Trusted Sites Zone\
微軟的這篇文章可能有助於更好地解釋
我不認為這與 web/SSL 憑證有關,因為它只是一個mailto
,問題在於允許網站/瀏覽器與本地電腦上的應用程式互動(在瀏覽器或 PC 中配置,因為網站永遠不應該獲得來控制)