【问题标题】:Fabricjs: Load svg from local folderFabricjs:从本地文件夹加载 svg
【发布时间】:2015-06-25 14:18:11
【问题描述】:

我需要从本地文件夹加载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>

【问题讨论】:

    标签: javascript svg fabricjs


    【解决方案1】:

    Chrome 的安全模型不允许这样做。您可以使用命令行选项运行 --allow-file-access-from-files 来覆盖它。

    【讨论】:

      【解决方案2】:

      此文件是否托管在服务器上?如果不是,一旦您在服务器中托管 html 文件,它将显示 svg 图像。 svg 文件需要在您放置 html 文件的网站下的同一文件夹中。

      【讨论】:

        猜你喜欢
        • 2020-04-17
        • 2018-12-04
        • 2019-05-30
        • 1970-01-01
        • 2019-07-31
        • 2012-09-05
        • 2020-04-23
        • 1970-01-01
        相关资源
        最近更新 更多