我需要从本地文件夹加载1.svg
。在以下代码中,当我用fabric.loadSVGFromURL("http://fabricjs.com/assets/1.svg"
替换fabric.loadSVGFromURL("1.svg"
时,图片不再显示在画布中。我究竟做错了什么?什么是正确的代码?
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" media="all" href="css/reset.css" /> <!-- reset css -->
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<style>
body{ background-color: ivory; }
canvas{border: 1px solid red; }
</style>
<script>
$(function(){
var canvas = new fabric.Canvas('canvas');
var group = [];
fabric.loadSVGFromURL("http://fabricjs.com/assets/1.svg",function(objects,options) {
var loadedObjects = new fabric.Group(group);
loadedObjects.set({
left: 100,
top: 100,
width:175,
height:175
});
canvas.add(loadedObjects);
canvas.renderAll();
},function(item, object) {
object.set('id',item.getAttribute('id'));
group.push(object);
});
}); // end $(function(){});
</script>
</head>
<body>
<canvas id="canvas" width="900" height="900"></canvas>
</body>
</html>
答案 0 :(得分:0)
Chrome的安全模型不允许这样做。您可以使用命令行选项--allow-file-access-from-files来覆盖它。
答案 1 :(得分:0)
此文件是否托管在服务器上?如果不是,一旦你在服务器中托管html文件,它将显示svg图像。 svg文件需要位于放置html文件的网站下的同一文件夹中。