以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 SVG/GML/VRML/X3D/XAML 』 (http://bbs.xml.org.cn/list.asp?boardid=21) ---- SVG加入HTML后事件响应的问题 (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=38898) |
-- 作者:pipilu -- 发布时间:10/14/2006 3:24:00 PM -- SVG加入HTML后事件响应的问题 我现在用SVG做统计图,打算从Sevlet得到统计结果(XML文件),然后用已经写好的XSL转为SVG置于html中。转换后的结果是下面这个样子: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3c.org/2000/svg"> <object id="AdobeSVG" CLASSID="clsid:78156a80-c6a1-4bbf-8e6a-3cd390eeb4e2"> </object> <?import namespace="svg" implementation="#AdobeSVG"?> <head></head> <body> <svg:svg width="" height=""> <svg:g> .....本部分省略,,SVG本身没有问题,每个节点都带上SVG命名空间前缀。 </svg:g> </svg:svg> </body> </html> 统计图是显示出来了,但无法交互。也就是加在<polyline> <rect>这些节点里的onmouseover onclick等事件响应机制都没有作用。 你们遇见过这种情况么?怎么办啊? VML中加了命名空间的节点就可以响应鼠标事件,这是怎么回事啊。 |
-- 作者:pipilu -- 发布时间:10/17/2006 2:07:00 PM -- 看来是浏览器确实不支持这种方式。 我换了个办法: 在页面上放个空的SVG(文件内容只有这一个节点:<svg></svg>),然后在页面脚本里用xsl转换完xml后(生成了<g><polyline/></g>....这些svg统计图文件内容),然后调用空svg里的javascript: " document.documentElement.appendChild(parseXML(str, document));" 其中str是xsl处理后生成的字符串。这样就可以了。 要注意的是:xsl的output method是"html",也就是:<xsl:output method="html" media-type="image/svg" encoding="UTF-8" indent="yes"/> 这样xsl转换完的xml形式的字符串就不会带<?xml version="1.0"?>了—— 可以成功的执行:parseXML(str, document)了。 |
-- 作者:chenchen870 -- 发布时间:10/30/2007 1:58:00 PM -- 用<embed>标签 |
-- 作者:chenchen870 -- 发布时间:11/28/2007 5:44:00 PM -- 就该用embed标签,用object是不支持事件响应的 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |