我可以在Firefox配置文件A中看到画布(线条,图画等),但不能看到画布文本。
我在Windows 7上使用Firefox 38.0.5 EME-free。我还没有对Firefox文件夹做任何事情。我可以在我的其他个人资料B上看到画布文字。
以下是我希望能够看到的示例:HTML canvas fillText() Method。
我尝试了$.fn.__blink = function(color) {
self = $(this);
if (self.attr('data-blinker') == undefined) {
var blinker = setInterval(function() {
original_color = self.css('background');
self.css('background', color).delay(300).queue(function(nxt) {
self.css('background', original_color);
nxt();
});
}, 1000);
self.attr('data-blinker', blinker);
}
return self;
};
并搜索了" canvas",但我的个人资料中的条目相同。
在Detecting HTML5 Features - Canvas Text中,它说:
您的浏览器支持画布文本API
如果我加载w3schools网站,我会在浏览器控制台中获取这些日志:
NS_ERROR_FAILURE:组件返回失败代码:0x80004005(NS_ERROR_FAILURE)[nsITaskbarTabPreview.invalidate] WindowsPreviewPerTab.jsm:406:0
未声明HTML文档的字符编码。如果文档包含US-ASCII范围之外的字符,则文档将在某些浏览器配置中使用乱码文本进行渲染。必须在文档或传输协议中声明页面的字符编码。 tryit.asp
POST ... w3schoolslink ... tags / tryit_view.asp [HTTP / 1.1 200 OK 210ms]
未声明框架文档的字符编码。如果在没有文档框架的情况下查看,该文档可能会显得不同。 tryit_view.asp
最后两个如果我点击"参见结果"在同一个w3schools页面上。
不要告诉我重置Firefox。我花了数年时间按照自己的方式定制它。
答案 0 :(得分:0)
您是否可能在两个配置文件中都没有使用过的字体?
在我试图展示"字母"的情况下,我看到这些矩形为文本。这不是使用过的字体的一部分。例如,我试图显示以unicode定义的音乐符号,但我知道的大多数字体都不支持它们。
答案 1 :(得分:0)
Firefox 41.0.1似乎没有出现此问题。
将gfx.direct2d.disabled
设为false
。
gfx.direct2d.disabled
为true
gfx.canvas.azure.backends
设为cairo
使用Fix1会导致在网页和view-source
(至少对我来说)中篡改字体的副作用,而这可以用来在仍然渲染画布文本的同时禁用direct2d。
我在磕磕绊绊后测试了这一点:
Bug 842521 - PDF.js won't render text when DirectWrite is enabled with both Skia and Cairo backends
虽然这不是一个真正的编程问题,但希望它能够被迁移而不是删除,我有一个可能的解决方案。
我遇到了同样的问题,我的常规Firefox配置文件不会显示画布文本,而新的配置文件没有问题。使用安全模式也无效。
通过about:config
中的偏好设置,我最终将gfx.direct2d.disabled
切换为false
,然后重新启动浏览器后,画布中的文字可用。
将gfx.direct2d.disabled
设置为true
的可能原因是,通过取消选中Use hardware acceleration when available
中的Options > Advanced
来禁用硬件加速。
请注意,Firefox不会考虑单独切换该首选项以重新启用硬件加速,因为这只会在更改pref layers.acceleration.disabled
时发生,这显然不会影响此问题。