网页中 svgdocument 的问题
有个网站里一个页面用到svg绘图
aspx中引用svg的地方这么写的:
<embed height="600" type="image/svg-xml" name="svgEmbed" id="svgEmbed" src="dzx.svg"
pluginspage="http://www.adobe.com/svg/viewer/install/" style="width: 760px; float: left;"></embed>
dzx.svg 如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd">
<svg width="100%" height="100%" id="mainbox" version="1.1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" style="cursor:move;" >
<script type="text/javascript"> <![CDATA[
function rOver(evt,tagname)
{
SVGDoc=evt.getTarget().getOwnerDocument();
var xianshi=SVGDoc.getElementById(tagname);
xianshi.setAttribute("visibility","visible");
}
function rOut(evt,tagname)
{
SVGDoc=evt.getTarget().getOwnerDocument();
var xianshi=SVGDoc.getElementById(tagname);
xianshi.setAttribute("visibility","hidden");
}
]]></script>
<defs>
<g id="bz1" >
<circle cx="0" cy="0" r="5" fill="red" stroke="red" />
</g>
<g id="bz2" >
<circle cx="0" cy="0" r="5" fill="blue" stroke="blue" />
</g>
<g id="bz3" >
<circle cx="0" cy="0" r="5" fill="green" stroke="blue"/>
</g>
<g id="bz4" >
<circle cx="0" cy="0" r="5" fill="#1DEFEB" stroke="gray"/>
</g>
<g id="dzd" >
<circle cx="0" cy="0" r="5" fill="#000000" stroke="gray"/>
</g>
</defs>
<defs>
<linearGradient id="linearGradient" x1="0" y1="0" x2="0" y2="100%">
<stop stop-color="#FF0000" offset="0" />
<stop stop-color="#FFFF06" offset="0.25" />
<stop stop-color="#00D40A" offset="0.5" />
<stop stop-color="#00FFFF" offset="0.75" />
<stop stop-color="#0000F3" offset="1" />
</linearGradient>
</defs>
<g id="chart" ></g>
</svg>
通过ajax将绘制的图像返给页面,经过测试返回的串是有的
但是通过js将返回的svg元素添加到dzx.svg中时遇到问题。js代码如下
svgViewer = document.getElementById("svgEmbed");
SVGDoc = svgViewer.getSVGDocument();
SVGRoot = SVGDoc.childNodes.item(0);
chart = SVGDoc.getElementById("chart");
这里调试发现SVGDoc.childNodes.length=0,而且ie状态栏一直显示(剩下一项,正在打开网页)
我猜测是因为dzx.svg没有载入 请问这是为什么,是其他原因吗?还是服务器设置的问题。
以上问题出现时网站配置在 乙方的服务器上
换成我们自己的服务器测试正常
[解决办法]
以上问题出现时网站配置在乙方的服务器上.换成我们自己的服务器测试正常
re:
应该是对响应作了限制.联系一下乙方
------解决方案--------------------
代码应该没问题