Internet Explorer 9中的帧:未正确加载CSS样式

时间:2012-11-01 19:06:29

标签: html css dns internet-explorer-9 frame

我有一个网址为http://myapp.herokuapp.com/welcome.php的网站,我正在将域名www.example.com重定向到该PHP页面作为FRAME。当我尝试从IE9加载www.example.com时,我收到此错误:

CSS3111: @font-face encountered unknown error. abeatbyKai.TTF

该字体位于此处: http://myapp.herokuapp.com/common/fonts/abeatbyKai.TTF

我的CSS文件是从welcome.php调用的,如下所示:

<link rel="stylesheet" href="css/iflikeu.welcome.0.1.css" type="text/css" />

这是我的CSS代码:

@font-face {
    font-family: 'abeat';
    src: url(../common/fonts/abeatbyKai.TTF);
}

如果我输入src: url('http://myapp.herokuapp.com/common/fonts/abeatbyKai.TTF');仍然无效。

另一个例子:此图像是从welcome.php加载的,如此

<a id="enLang" class="btn lang_flag" href="#" onclick="changeLanguage('userLangWelcome','en');"><img src="common/images/flags/en.png"/></a>

在CSS文件中,这是代码:

.lang_flag img {
    width: 25px;
    height: 12px;
    vertical-align: middle;
}

但是,不显示图像。只需按钮(btn)。

当存在FRAME重定向时,此错误仅发生在IE中。如果我从IE直接加载http://myapp.herokuapp.com/welcome.php它可以正常工作,并且来自任何其他浏览器的www.example.com也能正常工作

有什么想法吗?感谢

2 个答案:

答案 0 :(得分:4)

默认情况下,IE不允许从外部域加载字体。请参阅this thread

也许您需要在包含该框架的域上实际设置Access-Control-Allow-Origin HTTP Header

在旁注中,如果您只是因为想要将heroku应用程序显示在您自己的域名上而使用框架,则应该查看Custom Domains Heroku文章 - 您可以指出您的heroku应用程序中的域名。

答案 1 :(得分:1)

试试这个,当涉及到任何事情时,IE就是这样的痛苦:

@font-face {
font-family: 'FFFTusjBold';
src: url('FFF_Tusj-webfont.eot');
src: url('FFF_Tusj-webfont.eot?#iefix') format('embedded-opentype'),
     url('FFF_Tusj-webfont.woff') format('woff'),
     url('FFF_Tusj-webfont.ttf') format('truetype'),
     url('FFF_Tusj-webfont.svg#FFFTusjBold') format('svg');
font-weight: normal;
font-style: normal;

}
<!--[if IE]>
font-family: 'FFFTusjBold';
src: url('FFF_Tusj-webfont.eot');
url('FFF_Tusj-webfont.eot?#iefix') format('opentype');
}
-->