2015-07-03 126 views
1

無法加載快照SVG創建形狀:無法使用捕捉SVG

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
     <script src="<%=request.getContextPath()%>/scripts/snap.svg.js"></script> 
     <script src="<%=request.getContextPath()%>/scripts/prism.js"></script> 
     <link rel="stylesheet" href="<%=request.getContextPath()%>/css/stylesheet.css"> 
     <link rel="stylesheet" href="<%=request.getContextPath()%>/css/prism.css"> 
     <script> 
      var s = Snap("#svg"); 
      var circle = s.circle(90, 120, 80); 
      var square = s.rect(210, 40, 160, 160); 
     </script> 
    </head> 
    <body> 
     <svg id="svg"></svg> 
    </body> 
</html> 

試圖與使用NetBeans,當我運行程序,它會顯示什麼

經過它說控制檯上面的示例代碼:未捕獲的類型錯誤:無法讀取空的財產「圓圈」

+0

我猜測你在html加載之前運行腳本(所以它不知道svg元素,因爲你在腳本之後有這個),所以要麼把腳本放在更高的位置或者在頁面加載後更好地運行腳本。 – Ian

+0

好吧,讓我試試伊恩 – kittu

+0

內頭部分和身體部分後,但仍然無法正常工作。仍然是同樣的錯誤 – kittu

回答

4

你需要等待頁面加載完成後...嘗試在window.onload

window.onload = function() { 
     var s = Snap("#svg"); 
     var circle = s.circle(90, 120, 80); 
     var square = s.rect(210, 40, 160, 160); 
} 

jsfiddle