zoukankan      html  css  js  c++  java
  • IE下,动态创建的iframe在异步提交时会跳转的问题的解决

    转载的文章 正好能解决燃眉之急,多谢原作者先。

    -------------------------------------------------------------------------华丽的分隔符-----------------------------------------------------------

    在一些前端项目中可能要用到动态创建iframe的需求,例如无刷新ajax上传文件。但是在IE下创建带有name的iframe会有个bug,创建的代码如下:

    var iframe = document.createElement('iframe');
    iframe.name = 'test';

    上面的这段javascript代码在IE下赋不了name属性!!! 即iframe.name = 'test';这段代码未执行。

    在IE中我们可以使用下面的代码来动态创建带有name的iframe:

    var iframe = document.createElement('<iframe name="test">');

    但是上面的代码在非IE浏览器下却报错,这时候我们可以使用判断IE,如果是ie则使用第二段方法动态创建iframe,或者我们可以捕获异常,如下面的代码:

    var iframe;
    try {
        // IE浏览器适用
        iframe = document.createElement('<iframe name="test">');
    } catch (ex) {
        // 非IE浏览器
        iframe = document.createElement('iframe');
       iframe.name = 'test'; }

    通过这样的方法 就可以了~~

    我这边在完善一下吧

    function createIframe(iframeName){
      var iframe;
      try {
        iframe = document.createElement('<iframe name="' + iframeName + '">');    
      }catch (ex){
        iframe = document.createElement('iframe');
        iframe.name = iframeName;
      }
      document.body.appendChild(iframe);
    }

    到这里应该就可以了,下面的是自己刚加的 还没试验。

  • 相关阅读:
    SQL exists( select 1 from
    svn不知道这样的主机
    SVN 操作指南
    SVN导出/导入、SVN备份/还原 【小白版】
    Asp.net窄屏页面 手机端新闻列表
    装饰者模式
    适配器模式
    原型模式
    建造者模式
    抽象工厂方法
  • 原文地址:https://www.cnblogs.com/lxin/p/2720280.html
Copyright © 2011-2022 走看看