svg - это основанная на XML графика, и вы можете добавить к ней JavaScripts. Я попытался получить доступ к функциям сценария, определенным в SVG. Сценарий в моем SVG выглядит примерно так:
<svg ... onload="RunScript(evt);"...>
<script type="text/javascript">
...
function RunScript(loadEvent) {
// Get object in my html by id
var objElement = top.document.getElementById('objid1');
if (objElement)
{
// Extend object tag object's methods
objElement.SVGsetDimension = setDimension;
...
}
function setDimention(w, h) {...}
В моем основном html-файле svg встроен в тег объекта, например:
<object id="objid1" data="mygrahic.svg" ... >
<a href="#" onclick="document.getElementById('objid1').SVGsetDimention(10, 10);
return false;"
...>Set new dimention</a>...
Этот работает отлично. Однако если на файл svg xml ссылается полный URL-адрес (на другом сайте), например:
<object id="objid1" data="http://www.artlibrary.net/myaccount/mygrahic.svg" ... >
коды больше не работают. Похоже, что я не могу присоединить метод, определенный в моем скрипте svg, к методу в моем основном элементе тега html-объекта, или вершина или документ в этом случае недоступны, или getElementById (..) просто не может найти мой элемент объекта в мой svg скрипт Можно ли каким-либо образом сделать в сценарии svg xml свой элемент html?
Не уверен, вызвана ли эта проблема различными DOM, и у моих кодов сценариев svg нет возможности выяснить объект или элемент другого DOM. Было бы хорошо, если есть какое-либо решение.