我正在学习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()
答案 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