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

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

  • 相关阅读:
    23丨当Postgres磁盘读引起IO高的时候,应该怎么办
    22丨案例:当磁盘参数导致IO高的时候,应该怎么办
    LNMP环境搭建
    virtualbox中centos虚拟机网络配置
    chrome扩展程序开发
    Linux账号管理
    Linux设置文件与Shell操作环境
    Yii2之组件的注册与创建
    Stream 源码分析
    Exchanger 源码分析
  • 原文地址:https://www.cnblogs.com/lxin/p/2720280.html
Copyright © 2011-2022 走看看