我们有一个需要支持IE8的应用程序(不幸的是);这里有一些规格:
当加载时,显示工具栏图标所需的字体无法在IE8中加载。它只显示表示未加载字体的框。
如果直接在字体文件(.woff或.eot)中输入URL,请执行以下操作:
https://mysite.com/assets/tinymce/skins/lightgray/fonts/tinymce.eot
IE显示下载对话框,其中包含“0%of tinymce.eot ...”,然后显示一个警告框
“Internet Explorer无法从mysite.com下载tinymce.eot。 Internet Explorer无法打开此Internet站点。该 请求的网站不可用或无法找到。请试试 再来一次。“
奇怪的是我们首先在QA服务器上遇到过这个问题,我们得出结论,问题是那里的安全证书是自签名的,因此IE不会下载字体。当我们第一次将此应用程序推向生产(使用有效证书)时,我发誓我看到这些图标正确显示,因此假设字体加载正常。但是在上周的某个时间(没有我对应用程序或基础架构所知的更改),图标/字体不再加载。
我一直在搜索和挖掘(在这个网站和互联网上)并且无法确定有用的故障排除步骤或修复。任何帮助或指导将不胜感激!
答案 0 :(得分:1)
这可能是由IE 8-11中的跨域策略错误引起的问题。字体文件不会在IE中加载,因为它们是从与提供嵌入TinyMCE的页面服务的域不同的域提供的。
如果这是您遇到的问题,可以通过与提供网页的域相同的域提供字体文件来解决,或者添加正确的标题以允许跨源字体加载。
以下是一些可能有用的链接:
现在,如果这不是问题(如果没有指向您网站的链接很难分辨),那么可能会尝试从其他浏览器下载tinymce.eot
文件,看看您是否仍然收到任何错误。也许文件已损坏?可能发送了错误的标题?如果尚未完成,您可以尝试清除IE中的缓存(Control + Shift + Delete)。
如果所有这些仍然无法解决问题,请尝试在.htaccess
文件中添加以下内容:
<FilesMatch "\.(woff)$">
Header unset Vary
</FilesMatch>
<FilesMatch "\.(eot)$">
Header unset Vary
</FilesMatch>
在此处查看可以找到替代解决方案的更多信息:@font-face EOT not loading over HTTPS
答案 1 :(得分:1)
IE8不允许您从安全的SSL站点下载任何内容。它正在考虑将您的tinymce.eot作为可下载文件,而不是让您通过浏览器下载。
删除以下标题将允许下载文件。这可以在您的代理或Web服务器上完成。
Cache-Control,Expires,Pragma
对于Apache HTTP Server
标题取消设置Cache-Control
标头未设置Pragma
标题未设置到期