0

我在使用 IE8 打印网站时遇到了一个奇怪的问题。打印(或打印预览)对话框关闭后会出现问题,即使页面打印正常,网页也会完全空白(白色)。刷新解决了这个问题。

我最近包含了一个带有@font-face 声明的打印样式表。删除 @font-face 声明可以防止问题发生。我的字体声明如下:

@font-face {
    font-family: 'FONT';
    font-weight: normal;
    font-style: normal;
    src: url('../fonts/FONT.eot');
    src: url('../fonts/FONT.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/FONT.woff') format('woff'), /* Modern Browsers */
         url('../fonts/FONT.ttf') format('truetype'); /* Safari, Android, iOS */
}

我已经在 IE7、IE8、IE9 和最新版本的 Safari、Chrome 和 Firefox 中对此进行了测试。该问题仅发生在 IE8 中。

有没有其他人经历过这个并知道解决方案?

4

1 回答 1

1

我和你有同样的问题。很幸运,发现问题是由字体文件的 url 中的相对路径引起的!要在打印或打印预览后修复您的 IE8 页面空白问题,只需将您的相对“../fonts/FONT.eot”路径替换为绝对路径即可。就我而言,我们将字体保存在 /inc/css/fonts 中。所以我会将我的 url 参数更新为类似

@font-face {
    font-family: 'FONT';
    font-weight: normal;
    font-style: normal;
    src: url('/inc/css/fonts/FONT.eot');
    src: url('/inc/css/fonts/FONT.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('/inc/css/fonts/FONT.woff') format('woff'), /* Modern Browsers */
         url('/inc/css/fonts/FONT.ttf') format('truetype'); /* Safari, Android, iOS */
}

同样,我遇到了与您相同的问题,该问题仅在 IE8 中发生(关闭兼容模式)。这是我们必须解决的问题,因为即使到 2012 年 8 月,我们仍有 40% 的网络用户使用 IE8。希望这可以帮助!

于 2012-09-14T00:00:48.173 回答