`
wang371134086
  • 浏览: 128625 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

document.createElement IE 兼容

阅读更多

IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)

以下代码在IE8下运行通过,在IE9中出错:
document.createElement('<iframe id="yui-history-iframe" src="../../images/defaults/transparent-pixel.gif" style="position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;"></iframe>');
错误提示:exception : SCRIPT5022: DOM Exception: INVALID_CHARACTER_ERR (5)


思路分析:
第一步:兼容IE9,firefox,Opera,Safari等浏览器;
var iframe = document.createElement("iframe");
iframe.setAttribute("id", "yui-history-iframe");
iframe.setAttribute("src", "../../images/defaults/transparent-pixel.gif");
iframe.setAttribute("style","position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;");

第二步:兼容IE6-8:由于ie6-8 不能修改iframe的name属性
var oFrame = isIE ? document.createElement("<iframe name=/"" + this._FrameName + "/">") : document.createElement("iframe");
oFrame.name = "iframName";


综合解决办法:

var isIE = (document.all) ? true : false;//这里仅仅简单的对是否是IE进行判断,详细浏览器判断:请参考浏览器类型侦测
var ua = navigator.userAgent.toLowerCase().match(/msie ([/d.]+)/)[1];
if (ua == "9.0") {
isIE = false;
}
var oFrame = isIE ? document.createElement("<iframe name=/"" + this._FrameName + "/">") : document.createElement("iframe");
oFrame.name = "iframName";

分享到:
评论

相关推荐

    IE9+已经不对document.createElement向下兼容的解决方法

    在IE9及更高版本中,为了更好地遵循W3C标准,微软对某些方法进行了调整,使得`document.createElement`的行为与其他现代浏览器如Firefox和Chrome保持一致。这可能导致在旧的编写方式下出现兼容性问题,尤其是在尝试...

    document.createElement()用法及注意事项(ff下不兼容)

    总的来说,`document.createElement()`在处理浏览器兼容性时需要谨慎,尤其是涉及到`input`元素时。遵循最佳实践并利用`setAttribute`来设置属性,可以确保在多种浏览器环境下代码的稳定性和可靠性。

    document.frames在非IE浏览器中的解决办法

    针对`document.frames`在非IE浏览器中的兼容性问题,一个通用且被广泛采用的解决方案是使用`window.frames`。`window.frames`是所有现代浏览器都支持的标准API,它可以用来获取当前窗口中的所有iframe或frameset。 ...

    IE中document.createElement的iframe无法设置属性name的解决方法

    在上述代码中,我们首先尝试使用IE兼容的方式创建`iframe`。如果失败(即抛出异常),则会捕获这个异常,并使用标准的`document.createElement('iframe')`方法创建`iframe`,然后手动设置`name`属性。这样,无论在IE...

    让更多浏览器支持html5元素的简单方法.docx

    这可以通过调用`document.createElement()`函数实现,如下所示: ```javascript document.createElement('article'); document.createElement('section'); document.createElement('aside'); document....

    IE 不兼容的几个js问题及解决方法

    在使用JavaScript动态创建`&lt;table&gt;`元素并添加行(`&lt;tr&gt;`)或单元格(`&lt;td&gt;`)时,直接使用`document.createElement()`结合`appendChild()`可能无法在Internet Explorer(IE)中正确显示。 **解决方法:** 为了确保...

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    var table = document.createElement("table"); var thead = document.createElement("thead"); var tbody = document.createElement("tbody"); // 添加表头 var tr = document.createElement("tr"); thead....

    html5 兼容IE6结构的实现代码

    复制代码代码如下: document.createElement(‘header’); document.createElement(‘nav’); document.createElement(‘section’); document.createElement(‘article’); document.createElement(‘aside’); ...

    使用jQuery解决IE与FireFox下createElement方法的差异

    在Internet Explorer(IE)中,`createElement`方法允许开发者直接创建包含属性和事件的HTML字符串,如`document.createElement('&lt;table border="0"&gt;')`,这种方式能够一次性创建带有特定属性(如`border="0"`)的...

    Jsp中生成模式窗体代码详解

    通过`document.createElement`方法创建一个新的`div`元素,并设置其样式属性,包括高度、宽度、背景颜色、不透明度等。最后,将其添加到页面的`body`元素中。 ##### 步骤二:创建子窗体 ```javascript // 创建子...

    js兼容ie8的选项卡.rar

    IE8不支持W3C标准的`document.createElement()`, `appendChild()`, `removeChild()`等DOM操作。因此,为了兼容IE8,我们需要使用其特有的`document.all`对象和`innerHTML`属性来创建、修改和删除DOM元素。例如,...

    javascript兼容性总结 转.doc

    var newElement = document.createElement('&lt;div class="example"&gt;&lt;/div&gt;'); // Firefox var newElement = document.createElement('div'); newElement.className = 'example'; ``` 【兼容处理】使用通用的创建...

    让IE兼容 HTML5的canvas标签

    document.createElement('canvas').getContext) { G_vmlCanvasManager.initElement(document.getElementById('myCanvas')); } ``` 4. **使用canvas API**:在确保canvas可用后,可以通过`document.getElementById('...

    开发跨浏览器JavaScript时要注意的问题

    使用`&lt;tbody&gt;`元素以确保IE兼容性 当创建HTML表格时,一些现代浏览器(如Chrome、Firefox等)允许直接向`&lt;table&gt;`元素添加`&lt;tr&gt;`元素,但在Internet Explorer(尤其是较老版本的IE)中,这种做法会导致渲染问题。...

    javascript的document对象

    - **document.createElement(Tag)**:创建一个新的HTML元素。其中`Tag`参数为元素的标签名,如“div”、“span”等。 - **document.getElementById(ID)**:根据给定的ID值查找页面中唯一的一个元素。 - **document....

    支持ie9的js

    document.createElement("&lt;iframename=/" + this._FrameName + "/&gt;") : document.createElement("iframe"); oFrame.name = "iframName"; ``` 这段代码首先检测当前浏览器是否为IE,并判断其版本号。如果检测到的...

    JS实现单图片预览,兼容IE、火狐

    2. **IE兼容性处理** 对于IE,我们可以利用`ActiveXObject`,这是一个专为IE设计的对象,用于与服务器进行交互。我们可以创建一个`ActiveXObject`实例,如`new ActiveXObject("Microsoft.XMLHTTP")`,然后用它发送...

Global site tag (gtag.js) - Google Analytics