画架JS对localhost机器的安全限制

时间:2013-07-15 23:35:17

标签: easeljs

我正在学习EaselJS,我遇到了这个奇怪的错误:

  

无法从画布获取图像数据,因为画布已被跨源数据污染。 easeljs-0.6.0.min.js:71

     

未捕获发生错误。这很可能是由于使用本地或跨域图像读取画布像素数据的安全限制。

问题是,我的两张图片都来自localhost - 我将它们存储在我的根目录中。这就是我的代码:

function init() {
    var canvas = document.getElementById("demoCanvas");
    var stage = new createjs.Stage(canvas);
    var im = new createjs.Bitmap("dbz.jpg");
        im.regX - im.image.width *.2; 
        im.regY - im.image.height *.2; 
    stage.addChild(im);
    stage.update();

    im.addEventListener("click", function() {
        var seed = new createjs.Bitmap("seed.jpg");
        stage.addchild(seed);
        stage.update();
    }); //end seed eventlistener

} //end function init()

1 个答案:

答案 0 :(得分:1)

EaselJS需要读取像素值以确定鼠标碰撞。我建议使用像MAMP(osx)或XAMPP(win)这样的本地服务器进行本地测试。

http://www.mamp.info/en/index.html http://www.apachefriends.org/en/xampp.html

也有一些好的。在内部,我们使用Grunt进行开发,它有一个提供相同功能的Connect模块。它需要更多的设置,但还有很多其他功能,如代码缩小,sass编译,浏览器自动重载等。

http://gruntjs.com/ https://github.com/gruntjs/grunt-contrib-connect