画布图像未出现在IE10及以下版本中

时间:2015-06-01 12:37:26

标签: javascript html5 canvas fabricjs

不知道我在这里做错了什么,但显然我以某种方式让IE10感到不安。我有一点看起来很简单的FabricJS。除IE10及以下版本外,它适用于所有内容。不确定为什么?

var canvas = new fabric.Canvas('imageCanvas', {
    backgroundColor: 'rgb(240,240,240)'
});

var imgElement = document.getElementById('imageSource');
var fabricImg = new fabric.Image(
    imgElement, {
        selectable: false,
        evented: false,
        hasControls: false,
        hasBorders: false
     }
);

canvas.add(fabricImg);

屏幕截图显示IE10(左)和IE11(右):

enter image description here

演示(在< IE11中打开以查看问题):https://jsfiddle.net/8fy3rv04/

我已经调整了我能想到的每个选项,并查看了fabric.Image public class Node { public int data; public Node next; public Node(int i) { data = i; next = null; } public void Add(int i) { if (next == null) { next = new Node(i); } else { next.Add(i); } } } public class MyLinkedList { private Node headNode; private int count; public MyLinkedList() { headNode = null; count = 0; } public int Count() { return count; } public void Add(int i) { if (headNode == null) { headNode = new Node(i); } else { headNode.Add(i); } count++; } ,但我无法看到我可能会做些什么来激怒IE。现在把我的头发拉出来!

1 个答案:

答案 0 :(得分:1)

答案是一小段CSS,将imageSource标记为display:none。将图像加载到隐藏的<img>元素然后将其放在画布上非常有用,但我必须通过fabric.Image.fromURL加载图像。

IE10的一个非常奇怪的问题意味着<img>被隐藏了,将它放在画布上的图像也是如此!奇异。