• <base>标签在ie6下的问题


    今天同事报给我一个bug , 即在head里加了个<base target="_blank"/>

    在ie6下会出现以下错误

    改成<base target="_blank"></base>就没有错误了。

    原因是在ie6下<base target="_blank"/> 与 <base target="_blank"></base>有不同的解析

    当<base target="_blank"/>, ie6会将<base>后面的所有元素都当成<base>的子元素。

    而出了上述的错误的原因是在<head>元素里面有一个document.getElementsByTagName("head")[0].appendChild的操作,

    <head>
    <base target="_blank"/>
    
    <script type="text/javascript">
    
    var s= document.createElement("script");
    s.script="a.js";
    document.getElementsByTagName("head")[0].appendChild(s);
    document.domain = "7k7k.com";
    
    </script>
    </head>

    即,在ie6下<base/> ,ie6会将后面所有的元素当成<base>的子元素,所以</head>就没渲染完,所以在这个期间调用

    document.getElementsByTagName("head")[0].appendChild(s);会出现不明错误。

    改成<base></base>就无上述问题了。

  • 相关阅读:
    Java——泛型、异常
    接口
    Classes
    Unit Tests
    Boundaries
    Error Handling
    Objects and Data Structures
    DB other operation
    Comments
    Functions
  • 原文地址:https://www.cnblogs.com/fang9159/p/basetag.html
Copyright © 2020-2023  润新知