2015-10-20 107 views
0

我沒有太多的編碼經驗,我試圖讓用戶能夠控制嵌入在元素中的SVG。我發現ariutta svgpanzoom.js庫,但是當我嘗試做一個小測試吧,我已經在Chrome瀏覽器安全性錯誤(一切與Firefox和Safari效果很好)在嘗試訪問對象中的svg時出現鉻錯誤

這裏是我的基本代碼


 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title>SVG test</title> 
 
\t <meta charset="utf-8"> 
 
\t <script src="http://ariutta.github.io/svg-pan-zoom/dist/svg-pan-zoom.js"></script> 
 
</head> 
 
<body> 
 
\t <p><h1>Test SVG in object tag</h1></p> 
 
\t <br> 
 
\t <object id="mySVG" type="image/svg+xml" data="../Tests/simpleSVG.svg" width="400" height="400" style="border: 1px solid red;"></object> 
 
\t 
 
\t <script> 
 
     window.onload = function() { 
 
     svgPanZoom("#mySVG", { 
 
      zoomEnabled: true, 
 
      controlIconsEnabled: true 
 
     }); 
 
     }; 
 
    </script> 
 

 
</body> 
 
</html>

我得到在Chrome的錯誤是: Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement': Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

沒有人有我做錯了什麼想法?

在此先感謝...

+0

你使用本地服務器嗎?或者你剛從一個文件夾打開頁面? 由於SVG被認爲是另一個文檔,Chrome可能會阻止從遠程腳本(svg-pan-zoom)訪問本地文檔(您的案例中的對象)。 – bumbu

+0

沒錯:當我把文件放到本地服務器上時,Chrome並沒有顯示錯誤。感謝您的回答bumbu – MzTr

回答

0

本布是正確的:Chrome會阻止從遠程腳本(SVG-平移變焦)(在這種情況下,Object)將訪問本地文件。

從本地服務器運行時,代碼運行良好。

相關問題