2011-11-28 24 views
12

我有一个主要由单个Silverlight应用程序组成的网站。该网站配置为通过HTTPS运行,效果很好。但是,如果网站在Chrome中加载,则会发出以下警告:Silverlight页面加载来自Microsoft的不安全内容

https://testing.efilecabinet.com/的页面显示来自http://download.microsoft.com/download/5/1/6/5165823D-1D79-4871-8AC2-42DDDB94A5C2/PNGs/SLMedallion_ENU.png的不安全内容。”

似乎SL框架正在通过HTTP从微软加载此图像。有谁知道通过HTTPS发生这种情况的方法吗?

+0

你从哪里看到这个错误信息?当我点击锁图标时,我得到了类似的图标,但没有指定导致问题的资源的URL。 –

+0

我发布的消息是在Chrome的控制台中找到的:https://developers.google.com/chrome-developer-tools/docs/console –

回答

20

知道了!我下载的图像,并利用我们的网站修改这一行包括它:

<img src="https://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 

这样:

<img src="SLMedallion_ENU.png" alt="Get Microsoft Silverlight" style="border-style:none"/> 

显然,这个链接“https://go.microsoft.com/fwlink/?LinkId= 161376“仍然会重新指向一个HTTP路径来获取图像。因此下载图像并直接将其包含在内。

+0

辉煌,很高兴知道你得到了解决这个问题的混合物:) – 2011-11-28 20:15:47

+4

“下滑”是你错过了文化敏感性与这个。即一个来自另一种文化的人(挪威人,像我这样说)将会获得与微软不同的奖章,但是在您的网站上,无论如何都会得到英文版的奖章。可能需要付出很小的代价,但是如果你选择这种解决方案,仍然值得注意。您可以通过更改浏览器的语言首选项来进行测试。当我尝试时,我得到SLMedallion_NOR.png文件而不是SLMedallion_ENU.png文件。 – Alex

3

在托管XAP文件的页面中,您将找到带URL的锚标签以下载Silverlight运行时。您可以在HTTPS下将其删除或在自己的网站上进行下载。

<div id="silverlightControlHost"> 
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
     <param name="source" value="ClientBin/xxx.xap"/> 
     <param name="onError" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="4.0.50826.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <param name="windowless" value="true" /> 
     <param name="AllowHtmlPopupWindow" value="true" /> 
     <param name="EnableHtmlAccess" value="true" /> 

     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none"> 
       <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 
     </a> 
     </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe> 
    </div> 

您可以自定义整个定位标记以从您的网站提取内容。

+0

是的,你有正确的想法!下载图像并从我的网站提供修复。 –

-1

您可以在HTTP更改为锚文件HTTPS联系,并应在手解决问题。

<div id="silverlightControlHost"> 
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
    <param name="source" value="ClientBin/xxx.xap"/> 
    <param name="onError" value="onSilverlightError" /> 
    <param name="background" value="white" /> 
    <param name="minRuntimeVersion" value="4.0.50826.0" /> 
    <param name="autoUpgrade" value="true" /> 
    <param name="windowless" value="true" /> 
    <param name="AllowHtmlPopupWindow" value="true" /> 
    <param name="EnableHtmlAccess" value="true" /> 

    <a href="https://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none"> 
      <img src="https://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 
    </a> 
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe> 
</div> 
+0

我将页面上的所有链接更改为“https”,但没有任何区别。 –

+0

这是奇怪的行为,因为我刚刚访问了谷歌浏览器中的页面,并且我没有遇到任何问题。 – 2011-11-28 20:04:09

+1

是的,那是因为我只是修复了它:D –

相关问题