IE中未定义'Raphael'

时间:2012-03-15 15:15:27

标签: internet-explorer cross-browser raphael

我正在尝试使用Raphael在IE中使用鼠标事件管理。

但我收到错误'Raphael'在Internet Explorer 9中未定义,即使它在Chrome等其他浏览器中运行良好。

以下是jsfiddle和代码:

<div id="sample"></div>
<div id="status"></div>



var width = 400;
var height = 200;
var paper = Raphael(document.getElementById('sample'), 0, 0, width, height);

var rect = paper.rect(0, 0, width, height);
rect.attr({
    stroke: "#888",
    fill: "#eaeaea"
});



var circle = paper.circle(50, 60, 20);
    circle.attr({
        fill: "#f90"
    });

$(circle.node).mouseenter(function(e){
        $('#status').html('Entered circle');
    });
$(circle.node).mouseleave(function(e){
        $('#status').html('left circle');
    });

正在使用此版本的库:https://raw.github.com/DmitryBaranovskiy/raphael/master/raphael-min.js

您能帮助确定为什么不在IE中工作吗?

Thanksk

1 个答案:

答案 0 :(得分:2)

问题在于github上的默认托管,请参阅Issue 173

修复方法是将您的管理资源链接从链接到raphaeljs.com的链接更改为http://github.com/DmitryBaranovskiy/raphael/raw/master/raphael.js到cdnjs.com上托管的链接 - http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js