如果您在Facebook中创建一个指向仅包含下面代码的HTML页面的新应用程序,您将看到Flash对象加载后段落中字体平滑的明显变化。这仅发生在WebKit浏览器中,仅发生在Facebook中。
<!doctype html>
<head></head>
<body style="background-color: #333">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="170" id="movie_name" align="middle">
<param name="movie" value="http://edmullen.net/flash/BBC1.swf"/>
<param name="wMode" value="transparent" />
<object type="application/x-shockwave-flash" data="http://edmullen.net/flash/BBC1.swf" width="100%" height="170">
<param name="movie" value="http://edmullen.net/flash/BBC1.swf"/>
<param name="wMode" value="transparent" />
</object>
</object>
<p style="color: red">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p style="color: white">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</body>
</html>
我用多个swf文件复制了这个。我甚至将Flash对象嵌入到iframe
中,但错误仍然存在。
答案 0 :(得分:1)
webkit网站上有一个旧错误,解释了这种行为。基本上,对象的加载会导致重绘事件,而在第二次传递时,字体渲染器不会返回与第一次相同的结果。以下是参考资料: