`
zhaixp1949
  • 浏览: 7594 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于如何解决VML在IE8下不能使用setAttribute设置vml dom的属性

    博客分类:
  • VML
阅读更多

当我们使用js去创建vml dom节点时,发现在IE8下使用setAttribute设置属性不能生效,很是郁闷。

 

有人说提供了解决方式如下:

在IE6,7下可以使用setAttribute,例如dom.setAttribute("stroke")

IE8下使用点运算符可以做到,例如 dom.stroked="f"

 

dom.stroked="f"这种方式有个缺陷,就是你要事先知道要修改哪个属性。

 

我们在创建vml dom对象时一般会这样些

 

var attr = { 

    stroked:"f"

    fillcolor:"red"

}

for(var k in attr){

    dom.setAttribute(k,attr[k]);

}

采用点的方式,就不太方便了

 

IE8下不能采用setAttribute的具体表现是,当你先创建一个裸的dom(就是什么属性都没有指定),让后appendChild到parent中后,你在setAttribute修改dom属性时,IE8会没有反应,其实只要调整一下顺序就可以了,就是,创建dom后,先setAttribute,最后在appendChild到parent中,这样就有反应了

 

 

学习VML确实比较痛苦,尤其是学过SVG后再学VML。

 

我的感觉就是VML什么问题都有可能发生,但它也能做到你需要的效果,只是方式往往和我们想的不一样。

 

 

 

 

 

分享到:
评论

相关推荐

    vml.zip_VML_vml ie

    VML在微软的IE浏览器中得到了很好的支持,这使得它成为开发跨平台图形解决方案的一个选择,特别是在那些需要兼容旧版IE的项目中。 标题"vml.zip_VML_vml ie"表明这个压缩包包含的是与VML相关的资源,特别是针对...

    VML(IE绘图)

    为了在不支持VML的浏览器中显示图形,开发者通常需要使用JavaScript库,如jQuery的SVG插件,或者使用条件注释来针对IE浏览器提供VML支持,而对于其他浏览器则提供SVG代码。这种技术被称为“渐进增强”或“优雅降级”...

    VML.rar_DEMO_VML_vml API_vml包含哪些图_vml教程

    VML,全称Vector Markup Language,是一种用于在网页上呈现矢量图形的技术,尤其在IE浏览器的早期版本中广泛使用。由于HTML和CSS在当时对矢量图形支持不足,VML成为了替代方案,允许开发者创建复杂的图形、图表和...

    VML通用属性.

    VML,全称Vector Markup Language,是一种用于在网页上呈现矢量图形的标记语言,它基于XML,主要用于在Internet Explorer浏览器中创建和展示图形。在HTML文档中,VML可以通过添加命名空间来实现,例如`...

    在网页中利用VML画图

    综上所述,VML在特定环境下,特别是对于需要在旧版IE浏览器中实现矢量图形绘制的场景,是一个实用的选择。然而,随着现代浏览器的广泛使用,开发者更倾向于使用SVG或Canvas等更先进、更兼容的解决方案。在实际项目中...

    基于VML的IE绘图软件的设计与实现.pdf

    总之,基于VML的IE绘图软件设计与实现,是利用VML的矢量图形能力、JavaScript的动态编程特性和DOM的页面操作接口,开发出的一款能够在线编辑和发布矢量图形的工具,它解决了在互联网上高效处理和展示矢量图形的问题...

    vml圆角,箭头(IE)

    由于IE浏览器对VML的良好支持,开发者们常常借助它来实现复杂的图形渲染,尤其是在CSS3不被支持的老版本IE中。VML通过定义形状、路径、群组等元素,可以绘制出各种矢量图形。 二、圆角边框 在CSS3中,`border-...

    VML使用范例,包括有VML的WEB编辑器

    然而,在需要兼容旧版IE的场景下,VML仍然是一个有用的工具。 总的来说,VML是一个历史悠久的矢量图形解决方案,虽然现在已经被SVG所取代,但对于了解早期网页图形技术的历史和开发面向旧版IE浏览器的应用仍然有...

    VML教程forIE

    在实践中,理解和运用VML将有助于你为那些仍在使用旧版IE的用户提供更好的视觉体验,尽管随着浏览器的更新,VML的重要性已经逐渐减弱。不过,了解这种技术的历史和工作原理仍然对理解Web图形的发展历程有帮助。

    VML极道教程(IE打开)

    2. **兼容性**:尽管SVG(Scalable Vector Graphics)在现代浏览器中已经成为矢量图形的标准,但VML主要为了解决IE浏览器(尤其是早期版本)对SVG不支持的问题。 3. **应用场景**:在CSS3和SVG普及之前,VML常用于...

    vml.rar_VML

    3. **浏览器兼容性**:由于VML是微软特有,所以代码中可能包含针对IE的特定处理,同时可能使用条件注释或其他技术来确保在非IE浏览器下也能正常工作。 4. **CSS样式**:虽然VML是XML,但它也可以通过CSS来控制样式...

    ECHARTS仪表盘IE8不兼容修复

    4. **设置ECharts配置**:在初始化ECharts时,设置`renderTo`属性指向一个已存在的DOM元素,并确保浏览器兼容性设置正确,例如`useCanvas: false`来启用VML渲染。 5. **CSS兼容性**:检查并修改使用的CSS,确保所有...

    vml柱状图 vml html jquery

    为了确保跨浏览器兼容性,可以使用条件注释或者库如Excanvas,它在不支持VML的浏览器中模拟VML的功能。 7. **交互与响应式设计**: 结合jQuery,可以实现鼠标悬停时显示工具提示,或者在窗口大小变化时自适应调整...

    JS操作VML

    现代浏览器通常不支持VML,因此在开发时需要结合CSS3的`-webkit-`、`-moz-`等前缀或者使用SVG来实现类似功能,确保在非IE浏览器上的正常显示。 为了帮助开发者更好地理解VML,您可以参考提供的"line_vml.htm"文件,...

    javaScript报表使用VML技术

    在特定的历史时期,尤其是在Internet Explorer(IE)浏览器占据主导地位时,由于其对现代Web标准如SVG(Scalable Vector Graphics)的支持不完全,开发者们常常采用VML(Vector Markup Language)技术来在IE中实现...

    vml及Flashvml在线画图用例

    VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的,在我认为, VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本...

    vml实现圆角表格

    注意,由于VML是针对IE的解决方案,所以对于其他浏览器,你可能需要使用CSS3的`border-radius`属性来实现圆角。为了实现跨浏览器兼容性,你可以使用JavaScript库如jQuery或Modernizr,根据浏览器类型动态地应用适当...

    vml使用手册_包含多种示例

    在VML中,可以使用`<vml:textbox>`标签来添加文本,`textpath`属性用于指定文本沿哪个路径排列。例如: ```xml <vml:textbox style="font-family:Arial; font-size:16pt;"> <vml:textpath string="Hello, VML!" on...

    vml 极道教程 详细的vml教程

    对于Web开发者来说,掌握VML技能可以在一些特定情况下提供优势,尤其是在需要兼容旧版IE浏览器的项目中。 总之,"vml极道教程"是一份全面的学习资料,不仅涵盖VML的基本概念和技术,还涉及到其动态扩展和与其他技术...

    VML教程.学习VML的可以看看

    1. **VML基础概念**:介绍VML的基本结构,如如何定义一个图形元素,以及元素的属性和样式设置。 2. **基本图形绘制**:讲解如何用VML代码绘制直线、曲线、圆形、矩形等基本形状,并且可能会涉及填充颜色、描边样式...

Global site tag (gtag.js) - Google Analytics