视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
测试IE浏览器对JavaScript的AngularJS的兼容性_AngularJS
2020-11-27 21:39:47 责编:小采
文档

短版本

为确保Angular应用在IE上能够工作请确认:

1. 在IE7或更早的版本上polyfill JSON.stringify。你可以使用JSON2或JSON3来polyfills。



 
  • 如果标签名以my:开头那么他会被当做XML命名空间并且必须有对应的命名空间声明
  • 如果标签没有:符号但是不是标准HTML标签,那么必须提前使用document.createElement('my-tag')创建。
  • 如果你计划用CSS选择器改变自定义标签的样式,那么不管有没有命名空间你都得提前用document.createElement('my-tag')创建.

  • 好消息

    好消息是这些仅仅适用于元素标记名称并不适用于元素属性名称。因此,在IE中并不需要特别的处理:
    如果我不这样做,会发生什么?

    假如你使用HTML的未知标记mytag(my:tag或者my-tag结果是相同的):

    
    
    
    

    应该解析出如下的DOM:

    
    
    

    预期的行为是BODY元素有一个mytag子元素,它带有一些文字。

    但是在IE中不是这样的(如果没有包含上面的修订)

    
    
    

    在IE中,BODY元素有三个子元素:

    1,一个自关闭的mytag。例如自关闭标签
    。/是可选的,但是
    标签是不允许有子元素的,浏览器将
    some text
    视为三个同辈的标签,而some text并不是
    的子元素。

    2,一个文本节点some text。在上面这应该是mytag的子元素,而不是同辈标签

    3.一个损坏的自关闭的/mytag。这是一个损坏的元素因为元素名称是不允许带/字符的。另外,这种子关闭的元素并不是DOM的一部分,它仅仅是用于描述DOM的结构。

    CSS风格的自定义标记命名

    为确保CSS选择器能够在自定义元素上工作,自定义元素的名称必须预先使用document.createElement('my-tag')创建,不需顾虑XML的命名空间。

    显示全文
    专题