Я использую библиотеку, которая создает SVG-контент, используя библиотеку Raphael.Теперь я хотел бы добавить функцию масштабирования.Я нашел следующую библиотеку:
http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/
Вот так выглядит часть svg:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
//...the image
Проблема в том, что эта библиотека ожидает тег сценария и тег agокружающий все изображение.После манипуляции это должно выглядеть так:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<script xlink:href="SVGPan.js"/>
<g id="viewport" transform="translate(200,200)">
...//the image
</g>
Мне нужно было бы добавить тег script, но реальная проблема заключается в размещении элемента ag с id = "viewport" вокруг всей остальной части изображения.Как я могу сделать это с JQuery или планировать JavaScript?
РЕДАКТИРОВАТЬ:
Я немного опередил себя.Оказывается, что добавление тега сценария, похоже, не работает:
var svg = $('svg');
svg.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); // else error in firefox with links
var scriptElement = document.createElementNS('http://www.w3.org/2000/svg','script');
scriptElement.setAttribute('xlink:href','js/SVGPan.js');
svg.prepend(scriptElement);
Я не получаю сообщение об ошибке, и сценарий выполняется полностью, но тег не добавляется.Я проверил, что $ ('svg') выбирает нужный элемент, и я могу с ним что-то делать, кроме предварительного добавления тега script для любой причины, которую я не понимаю.