我已经使用了画布元件,以显示与被根据来自MySQL查询获得并写入到一个javascript数组值色斑的地图。它适用于我的两台电脑,Firefox 4,IE 9和Safari。但是当我在学校做了一个演示,同时使用IE 8(也许这将是一个问题)和Firefox 3.6(应该工作),画布不可见。我看不出任何方式,甚至可以禁用!学校里的IT人员做了什么,我该如何测试它,然后绘制一张正常的图像地图?画布元件似乎被禁用
0
A
回答
1
IE8不支持画布。您可以使用excanvas来模拟它。
其次,IIRC,浏览器不一定要画布宽度和高度设置为任何值。您可以尝试设置width
和height
属性。
UPD:这将是很好,如果你提供你的页面的片段。在做这件事之前,请先了解如何缩小问题的一些想法。
确保您的页面文档类型设置为
<!doctype html>
。确保所不支持没有关于
canvas
消息(把<canvas>
和</canvas>
之间即文本)显示(它不应该与Firefox 3.6会发生,但仍然)。设置
style='border:solid;'
您的canvas元素。检查是否在预期位置绘制了边框。括
canvas
成div
元件,并确保它在预期的位置上显示(例如,通过设置style='border:solid;'
用于它)。
如果显示画布和/或包裹元素的边框,但没有绘图,那么绘图代码会出现一些错误。如果不是,那么元素定位(例如CSS疯狂)或加载文档本身就有问题。
UPD:我跑本站启用Firebug,它在drawImage
来电显示异常。
img.src = 'images/snap9.jpg';
ctx.drawImage(img,0,0); // HERE!
但仅限浏览器会话中第一次加载页面。
的原因是(我猜的),当你设置src
图像的地址,它没有立即加载,并绘制它不可能在那之前。所以就会抛出异常,其余的编码不会被执行。
您应该为图像设置onload
处理程序(请参阅here)并在此处理程序中完成其余绘图。
让我知道它是否有帮助。
相关问题
- 1. 画布元素禁用
- 2. 统一2D动画似乎被阻止
- 3. Recycleview似乎切根布局动画
- 4. 在我的CakePHP中验证似乎被禁用
- 5. 点击在画布上被禁止
- 6. 使用画布时,窗口似乎总是溢出
- 7. 批处理文件似乎被缓存
- 8. System.Windows.Forms.WebBrowser似乎是禁用Java脚本?
- 9. Linux功能(setcap)似乎禁用LD_LIBRARY_PATH
- 10. Oracle:idle_time似乎被忽略
- 11. InternalsVisibleTo似乎被忽略
- 12. memcpy似乎被卡住
- 13. Hibernate @Enumerated似乎被忽略
- 14. RadioList似乎不被渲染
- 15. QGraphicsItem setTransformOriginPoint似乎被忽略
- 16. INSTALL_BASE似乎被忽略Makefile.PL
- 17. NSURLSessionTaskPriority似乎被忽略?
- 18. NSFetchRequest“returnsDistinctResults”似乎被忽略
- 19. Facebook.getAuthResponse()似乎被打破
- 20. 表似乎被覆盖
- 21. popViewController似乎不适用于UIView动画
- 22. ReactCSSTransitionGroup似乎没有应用动画
- 23. AJAX似乎发布两次
- 24. 使用故事板似乎禁用触摸事件?
- 25. Refferenced类似乎不似乎
- 26. 由于某种原因输入似乎被禁用,仅限于Firefox
- 27. 如何使用fabric.js禁用画布元素的缩放点?
- 28. 动画过快。似乎无法减慢
- 29. ember元信息似乎被控制器共享
- 30. jQuery动画循环似乎发送所有动画元素疯狂!
感谢您的回复。我对IE不感兴趣 - 我的用户使用Firefox,并且画布在那里也不工作。我在创建元素的html中设置宽度和高度(不是在javascript中)。 – 2011-06-03 07:00:13
谢谢elder_george。我把文本放在画布里面,它不显示。我从学院的IT安全部门得到了答复,他说他们没有做任何事情来禁用HTML 5的东西。该网站是: – 2011-06-04 04:54:22
网站链接未显示。请再试一次。 – 2011-06-04 07:00:31