0

问题

我有一个 Eclipse RAP 应用程序,一旦我更改了一些下拉框的值,我的应用程序中的随机文本就会发生变化。他们变得更大。您可能需要知道,在 Eclipse RAP 中,所有样式都是内联和计算的服务器端。

重现步骤

  1. 我在 RAP 中打开一个选项卡,其中包含一个带有下拉列表的页面 在此处输入图像描述

  2. 更改下拉列表,直到浏览器内的随机文本变大(通常在第一次试用时发生) 在此处输入图像描述

调查至今

  • 我检查了JSON ajax request-replies,与字体更改无关。实际上,与我当前所在的选项卡小部件没有任何关系,并且它的字体已更改。
  • 我使用onpropertychanged事件将一个函数附加到表示调试器内部选项卡的 div 上。我记录事件的名称。当我更改下拉列表并且选项卡文本变大时,控制台中没有任何 style.font* 。背景颜色更改等其他内容会显示事件。
  • 最后一件事是喜怒无常。当我点击 inspect并用鼠标“触摸”我的应用程序的客户区域时,所有字体都变为 OK。所以检查问题是不可能的: 在此处输入图像描述

问题

  • 你见过类似的东西吗?
  • 您知道 IE 的已知问题,这可能会导致这种情况吗?
  • 有什么解决方法吗?

更新

所以问题源于我使用带有@font-face 的自定义字体。我意识到以下几点: - 使用 FontSquirrel 生成的 web-font 工具包没有任何区别。IE 加载然后 EOT(我检查了开发人员工具),但字体仍然随机变化。- 我尝试了一个随机下载的TTF,同样的问题发生了。- 如果我从 css 字体定义中删除后备,则没有上述“字体更改”现象 - 如果没有后备,IE 始终使用自定义字体,但在宽度方面似乎存在计算问题一个文本 div。例如,从我的两个单词菜单项中只显示一个单词(显然第二个单词是单词包装的)。

解决方案

我想我的解决方案是使用原生字体。我不想把我的一生都花在破解 IE 的 bug 上。

4

1 回答 1

1

我的建议是查看错误报告。

从您的图片中,我可以看到您的文档类型是

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

这会触发浏览器中的怪癖(请参阅此处)模式呈现。所以我的建议是尝试改变它。

以怪癖模式呈现的页面可能无法利用浏览器在使用标准模式时支持的功能。

在 IE 中,当使用 quirks 模式时不应用 :hover 伪选择器时应用的 CSS 规则(颜色应该改变并且指针应该变成一只手)。

于 2014-06-10T12:56:07.287 回答