Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Firefox中启用HTML5画布文本?_Javascript_Html_Firefox_Canvas - Fatal编程技术网

Javascript 如何在Firefox中启用HTML5画布文本?

Javascript 如何在Firefox中启用HTML5画布文本?,javascript,html,firefox,canvas,Javascript,Html,Firefox,Canvas,我可以在Firefox配置文件A中看到画布(线条、图形等),但看不到画布文本 我在Firefox 38.0.5上,在Windows7上是免费的。我没有对Firefox文件夹做任何操作。我可以在我的另一个配置文件B上看到画布文本 下面是我希望能够看到的示例: 配置文件A:画布显示为白色矩形 我看到了“你好,世界!灿烂的笑容” 我尝试了about:config并搜索了“canvas”,但我的两个配置文件中的条目都是相同的 在这方面,它说: 您的浏览器支持画布文本API 如果我加载w3school

我可以在Firefox配置文件A中看到画布(线条、图形等),但看不到画布文本

我在Firefox 38.0.5上,在Windows7上是免费的。我没有对Firefox文件夹做任何操作。我可以在我的另一个配置文件B上看到画布文本

下面是我希望能够看到的示例:

  • 配置文件A:画布显示为白色矩形
  • 我看到了“你好,世界!灿烂的笑容”
我尝试了
about:config
并搜索了“canvas”,但我的两个配置文件中的条目都是相同的

在这方面,它说:

您的浏览器支持画布文本API

如果我加载w3schools站点,我会在浏览器控制台中获得这些日志:

NS\U错误\U故障:组件返回的故障代码:0x80004005(NS\U错误\U故障)[NSITASKARBATABREVIEW.invalidate] WindowsPreviewPerTab.jsm:406:0

未声明HTML文档的字符编码。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。页面的字符编码必须在文档或传输协议中声明。 tryit.asp

发布…w3schoolslink…标记/tryit_view.asp [HTTP/1.1 200 OK 210ms]

未声明框架文档的字符编码。如果在没有文档框架的情况下查看文档,文档可能会显示不同。 tryit_view.asp

如果在同一页面上单击“查看结果”,则显示最后两个


不要告诉我重置Firefox。我花了很多年的时间来定制我想要的字体。

有没有可能两个配置文件中都没有使用的字体

在我试图显示不属于所用字体的“字母”的情况下,我将这些矩形视为文本。例如,我试图显示用unicode定义的音乐符号,但我知道的大多数字体都不支持它们。

Firefox41.0.1中似乎没有这个问题

Fix1-TL;博士 将
gfx.direct2d.disabled
设置为
false

修正2-备选方案
  • gfx.direct2d.disabled
    true
  • gfx.canvas.azure.backends设置为
    cairo
使用Fix1的副作用是篡改网页和
查看源代码中的字体(至少对我来说是这样),而这可以用来在仍然呈现画布文本的情况下保持direct2d的禁用状态

我在这个问题上绊倒后测试了一下:

Fix1的详细答案 虽然这不是一个真正的编程问题,但希望它能够被迁移而不是删除,我有一个可能的解决方案

我遇到了同样的问题,我的常规Firefox配置文件不会显示画布文本,而新配置文件没有问题。使用安全模式也是无效的

通过查看
about:config
中的首选项,我最终将
gfx.direct2d.disabled
切换为
false
,重新启动浏览器后画布中的文本可用

gfx.direct2d.disabled
设置为
true
的可能原因是在
Options>Advanced
中取消选中
在可用时使用硬件加速,从而禁用了硬件加速


请注意,Firefox不会考虑单独切换该首选项以重新启用硬件加速,因为这仅在更改pref
layers.acceleration.disabled
时发生,这显然不会影响此问题。

“不要告诉我重置Firefox”–然后至少在禁用所有扩展的情况下启动它一次(命令行选项,去查找),看看这是否会改变情况。谢谢您的回复。有可能,我从浏览器控制台附加了与编码相关的日志。您试图绘制哪些字符?ctx.font=“20px”;fillText(“你好,世界!”,10,50);据我所知,在正常情况下,没有什么特殊的性格会成为问题。对不起,如果是那样的话,我会看看你的浏览器定制。。。也许有什么不对劲。