8

当混合内容警告对话框出现时,我们正在寻找解决奇怪的 IE 浏览器行为的解决方案。

我们基于 Silverlight 5 开发了一个视频平台。该站点依赖于 HTTPS 协议,但视频内容是通过 HTTP 传输的。因此出现“混合内容”对话框。

但是当用户开始与此对话框交互(例如移动它)或尝试单击应用程序区域时,IE 冻结:

在此处输入图像描述 这让我们的用户非常不安,因为他们无法切换设置“显示混合内容:提示”。

有时 IE 在后台打开“混合内容”弹出窗口,用户根本无法理解发生了什么,因为他们无法访问应用程序,然后浏览器崩溃。

我无法共享应用程序的链接,但同样的问题出现在以下站点:https ://demos.telerik.com/silverlight/

我们还使用纯 SL 5 创建了一个没有复杂逻辑的测试应用程序。它只是从 HTTP 主机下载图片,然后出现“混合内容”对话框,然后当用户点击应用程序区域或尝试移动对话框时,IE 挂起。

所以,问题是:

  1. 这是 IE 或 Silverlight 的已知原生错误并且无法修复或解决方法吗?
  2. 否则,我们如何在我们的应用程序中解决这个问题?
4

2 回答 2

1

最好的办法是消除对 HTTP 资源的所有不安全请求,如下所示:

  1. 在运行 Silverlight 应用程序的计算机上运行Fiddler并捕获所有 HTTP(S) 流量。
  2. 直观地扫描应用程序生成的所有不安全请求(对 HTTP URL 的请求)
  3. 更新 Silverlight 应用程序中的所有代码以仅从 HTTPS 安全 URL 检索内容。

完成此操作后,您将不再收到“混合内容”消息,因为您的所有内容都将通过 HTTPS 提供。

作为一个仅供参考,这里的答案包含一个关于如何做到这一点的很好的视觉效果:

提琴手不安全的内容

于 2015-09-30T17:33:20.197 回答
0

根据您之前的回复,第三方可能以不安全的方式提供内容,那么访问浏览器的安全设置并全局关闭混合内容警告可能是可以接受的。

Internet 选项 -> 安全 -> Internet -> 自定义级别 -> 显示混合内容。

https://wiki.canisius.edu/display/hd/Eliminate+Internet+Explorer+Mixed+Content+popup

于 2015-10-01T19:59:21.910 回答