我一直在尝试加载一个图层(放弃尝试图层并开始尝试使用舞台),我使用 KineticJS .toJSON() 方法将其保存为 JSON 对象文字。我一直在调试我的脚本,在调用 Kinetic.Node.create 之前一切似乎都很好。这是我的代码:
var stage = new Kinetic.Stage({
container: 'container',
width: 1000,
height: 650
});
var check;
$(document).on({
click: function(){
check = stage.toJSON();
}
},'#save');
$(document).on({
click: function(){
try{
//parse check string into object literal
var s = JSON.parse(check);
//check if s is object literal
if( Object.prototype.toString.call(s) === '[object Object]' ) {
//this is where the code stops executing
stage = Kinetic.Node.create(s,'container');
stage.draw();
}
}
catch(e){
console.debug(e.stack);
console.trace();
}
}
},'#load');
我的 HTML:
<div id="container">
</div>
<div id="buttons">
<button id="save">
Save
</button>
<button id="load">
Load
</button>
</div>
和错误日志:
SyntaxError: Unexpected token o
at Object.parse (native)
at Function.Kinetic.Node.create (http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.5.4.min.js:2:25166)
at HTMLButtonElement.$.on.click (http://localhost/mosaicos/main.js:181:38)
at HTMLDocument.b.event.dispatch (http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js:3:28337)
at HTMLDocument.v.handle (http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js:3:25042)
不确定我是否做错了什么,任何帮助将不胜感激。