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);
    }

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

  • 相关阅读:
    CF446C [DZY loves Fibonacci]
    [BZOJ2286] 消耗战
    [CF Round #278] Tourists
    BZOJ2553 [BJWC2011]禁忌
    NOI2018D2T1 屠龙勇士
    BZOJ2333 棘手的操作
    bzoj4196: [Noi2015]软件包管理器(树链剖分)
    bzoj1833: [ZJOI2010]count 数字计数(数位DP)
    bzoj1026: [SCOI2009]windy数(数位DP)
    bzoj3631: [JLOI2014]松鼠的新家(树上差分)
  • 原文地址:https://www.cnblogs.com/lxin/p/2720280.html
Copyright © 2011-2022 走看看