检测Javascript中字体平滑设置的更改

检测Javascript中字体平滑设置的更改,javascript,dom,fonts,cleartype,smoothing,Javascript,Dom,Fonts,Cleartype,Smoothing,我有一个使用@font-face的页面,我正在使用JavaScript代码,根据是否启用字体平滑,有条件地设置该字体中的文本。检测一直都在进行,但要更精细一些,以便区分ClearType和标准平滑 在任何情况下,平滑检查都是在页面加载时进行的,我想了解是否有方法捕获页面加载后平滑首选项更改的事件 谢谢我看不到一种方法可以在没有超时的情况下完成每x秒显示一次的检查-从资源的角度来看,这当然是次优的 我认为没有任何JavaScript事件可供挂钩。如果平滑方法更改,则包含文本的元素的大小可能会更改,

我有一个使用@font-face的页面,我正在使用JavaScript代码,根据是否启用字体平滑,有条件地设置该字体中的文本。检测一直都在进行,但要更精细一些,以便区分ClearType和标准平滑

在任何情况下,平滑检查都是在页面加载时进行的,我想了解是否有方法捕获页面加载后平滑首选项更改的事件


谢谢

我看不到一种方法可以在没有超时的情况下完成每x秒显示一次的检查-从资源的角度来看,这当然是次优的


我认为没有任何JavaScript事件可供挂钩。如果平滑方法更改,则包含文本的元素的大小可能会更改,但也可能不会更改

我看不到一种方法可以在没有超时的情况下每x秒进行一次检查,从资源的角度来看,这当然是次优的


我认为没有任何JavaScript事件可供挂钩。如果平滑方法更改,则包含文本的元素的大小可能会更改,但也可能不会更改

您想检测用户在加载页面后是否更改了首选项?您确定这有意义吗?我的意思是,大多数用户甚至从未见过字体平滑的设置。是否真的有必要为他们在你的网站上更改设置做准备?@pekka-我只是好奇这是否可行,而不是它是否有实际意义。你想检测用户在页面加载后是否更改了首选项?你确定这有意义吗?我的意思是,大多数用户甚至从未见过字体平滑的设置。真的有必要为他们在你的网站上更改文本的情况做准备吗?@pekka-我只是好奇这是否可行,而不是它是否有实际意义。“如果平滑方法更改,包含文本的元素的大小可能会更改,但也可能不会更改。”——你知道这一点还是一个猜测?如果是前者,我想看一个例子,因为我自己找不到,我做了很多实验。@Alex我在这里建立了一个原始测试:打开和关闭ClearType。文本中的差异很明显,但是高度值没有改变,所以我很确定它毕竟不会影响元素的物理尺寸。是的,这也是我的观察结果。在早期的ClearType公告中,MS展示了一些例子,其中文本在CT上时更宽,但他们受到了足够的抨击(关于像素完美的页面布局变得混乱),使生产版本保持与非CT渲染相同的宽度/高度。我希望通过我的探索找到一种特定字体中的符号组合,这种组合会导致宽度/高度的变化。尝试了很多东西-非常小的字体大小(1-2px),非常大的字体,负号间距等等-似乎没有任何东西会触发大小差异。“如果平滑方法更改,包含文本的元素的大小可能会更改,但也可能不会更改。”--您知道这一点还是猜测?如果是前者,我想看一个例子,因为我自己找不到,我做了很多实验。@Alex我在这里建立了一个原始测试:打开和关闭ClearType。文本中的差异很明显,但是高度值没有改变,所以我很确定它毕竟不会影响元素的物理尺寸。是的,这也是我的观察结果。在早期的ClearType公告中,MS展示了一些例子,其中文本在CT上时更宽,但他们受到了足够的抨击(关于像素完美的页面布局变得混乱),使生产版本保持与非CT渲染相同的宽度/高度。我希望通过我的探索找到一种特定字体中的符号组合,这种组合会导致宽度/高度的变化。尝试了很多东西-非常小的字体大小(1-2px),非常大的字体,负号间距等等-似乎没有任何东西会触发大小差异。