Fabricjs: โหลด svg จากโฟลเดอร์ในเครื่อง

ฉันต้องโหลด 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="/thcss/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>

person patm    schedule 25.06.2015    source แหล่งที่มา


คำตอบ (2)


โมเดลความปลอดภัยของ Chrome ไม่อนุญาต คุณสามารถรันด้วยตัวเลือกบรรทัดคำสั่ง --allow-file-access-from-files เพื่อแทนที่สิ่งนี้

person Robert Longson    schedule 25.06.2015

ไฟล์นี้โฮสต์บนเซิร์ฟเวอร์หรือไม่ หากไม่เป็นเช่นนั้น เมื่อคุณโฮสต์ไฟล์ html ในเซิร์ฟเวอร์แล้ว ไฟล์นั้นจะแสดงรูปภาพ svg ไฟล์ svg ต้องอยู่ในโฟลเดอร์เดียวกันภายใต้เว็บไซต์ที่คุณวางไฟล์ html

person nik    schedule 25.06.2015