svg是一个基于xml的图形,你可以添加JavaScripts到它。我试图访问svg中定义的脚本函数。在我的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的对象或元素。如果有任何解决方案,这将是很好的。
您定位和测试哪些浏览器?如果这些浏览器没有内置的SVG支持,那么您的SVG插件正在使用? – 2008-10-29 17:20:28