这是我试图嵌入的svg:
<script type="image/svg+xml">
<svg width="200" height="200"
style="background-color: #D2B48C; display: block; margin-bottom: 5px;"
id="embeddedSVG">
<g id="myGroup"
fill="blue"
style="font-size: 18px; text-anchor: middle; font-family: serif;">
<circle id="myCircle"
cx="100" cy="75" r="50"
stroke="firebrick"
stroke-width="3" />
<text x="100" y="155">Hello World</text>
<text x="100" y="175">From Embedded SVG!</text>
</g>
</svg>
</script>
<noscript>
<h1>Optional fallback content goes here!</h1>
</noscript>
这在ie6-8中工作正常,SVGweb确实:
<OBJECT style="BACKGROUND-COLOR: #d2b48c; DISPLAY: block; MARGIN-BOTTOM: 5px; OVERFLOW: hidden" id=embeddedSVG_flash class=embedssvg name=embeddedSVG_flash codeBase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=200 height=200><PARAM NAME="_cx" VALUE="5291"><PARAM NAME="_cy" VALUE="5291"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="js/svg.swf"><PARAM NAME="Src" VALUE="js/svg.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE="LT"><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE="always"><PARAM NAME="Scale" VALUE="NoScale"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE="D2B48C"><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="false">
<embed src="js/svg.swf" quality="high" bgcolor="#d2b48c"
width="200" height="200" id="embeddedSVG_flash" name="embeddedSVG_flash" swLiveConnect="true" allowScriptAccess="always" type="application/x-shockwave-flash" FlashVars="uniqueId=embeddedSVG&sourceType=string&clipMode=both&debug=true&svgId=embeddedSVG" pluginspage="http://www.macromedia.com/go/getflashplayer" style="background-color: #d2b48c; display: block; margin-bottom: 5px;overflow: hidden;"
class="embedssvg" /></OBJECT><NOSCRIPT></NOSCRIPT>
但是当我添加jQuery时:
<script src="js/jquery.js" type="text/javascript"></script>
SVG不会在ie6-8中渲染(但它在chrome,ff,...中):
<script type="image/svg+xml">
<svg width="200" height="200" style="background-color: #D2B48C; display: block; margin-bottom: 5px;" id="embeddedSVG">
<g id="myGroup" fill="blue" style="font-size: 18px; text-anchor: middle; font-family: serif;"> <circle id="myCircle" cx="100" cy="75" r="50" stroke="firebrick" stroke-width="3" />
<text x="100" y="155">Hello World</text>
<text x="100" y="175">From Embedded SVG!</text>
</g>
</svg>
</script>
我希望SVGweb以相同的方式工作,与jQuery是否加载无关。 如何使用SVGweb嵌入SVG,以便在加载jQuery时在ie6-8中显示它?
编辑:
我可能找到了解决方案。如果我在SVGweb之前引入jQuery它将起作用。然而在SVGweb手册中它说:
首先,您必须将svg.js文件引入HTML页面 在您的页面上第一个脚本,在所有其他
之前
答案 0 :(得分:0)
在SVGweb解决问题之前包含jQuery(正如我的编辑所指出的那样)。
答案 1 :(得分:0)
你的解决方案并不好,因为svgWeb可能会覆盖像onload事件处理程序这样的jQuery函数...尝试将svgWeb更新到最新版本并将其作为头节点中的第一个脚本标记放回。
@Mathias
你尝试过这种语法吗?它对我有用。
mysvg.load = mysvg.onsvgload = function(){
//Handler
}