2015-10-20 5 views
0

У меня нет большого опыта работы с кодированием, и я пытаюсь дать пользователю некоторый контроль над SVG, встроенным в элемент. Я нашел ariutta svgpanzoom.js библиотеки, но когда я пытаюсь сделать небольшой тест с ним, у меня есть ошибки безопасности в хроме (все хорошо работает с 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

Bumbu прав: Chrome блокирует доступ к локальным документам (объект в данном случае) от удаленных сценариев (SVG-пан-зум).

Код хорошо работает при запуске с локального сервера.

Смежные вопросы