zoukankan      html  css  js  c++  java
  • IE和火狐下的iframe刷新

    前面使用了前端上传插件plupload,在谷歌浏览器中运行完全没问题,但是在IE和火狐下就出现当文档加载完成之后,该文件上传的iframe插件的上传按钮点击无效,当对上传的文件进行一次删除之后,按钮就可以点击并进行上传了,这个bug挺恶心的,因为一个最新的草稿起草单在上传附件的时候是没有附件存在的,所以无法进行删除操作,这样就卡在这儿了。

    然后百度了很多,找了很多方法,都不好使,升级版本,修改源码(这个有点难度,改了一部分之后果断放弃,还原了!),修改样式加入input文件上传,统统都不好使,最终发现是对页面进行刷新之后,按钮才生效。

    原来在IE和火狐下,页面加载完成之后,嵌入的iframe框架页面的js并没有进行初始化,所以只要实现在父元素页面加载完成之后,将iframe框架刷新一次就好了。(很**的是火狐居然不支持window.frames["claimFileList"].location.reload(true);方法,在页面加载完成之后,火狐下无效!最终,我选择当点击到这个tab标签的时候,对这个iframe框架实现刷新。)

    首先判断了浏览器类型

    /* 判断浏览器类型 */
    function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    if (isOpera) {
    return "Opera"
    }; //判断是否Opera浏览器
    if (userAgent.indexOf("Firefox") > -1) {
    return "FF";
    } //判断是否Firefox浏览器
    if (userAgent.indexOf("Chrome") > -1){
    return "Chrome";
    }
    if (userAgent.indexOf("Safari") > -1) {
    return "Safari";
    } //判断是否Safari浏览器
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
    return "IE";
    }; //判断是否IE浏览器
    }
    function clickOnload2(){
      var mb = myBrowser();
      if ("IE" == mb) {
        window.frames["claimFileList"].location.reload(true);
      }else if("FF" == mb){
        document.getElementById('claimFileList').contentWindow.location.reload(true);
      }
    }

    页面代码:

    <li id="li_Div6" class="cls_tab_title_li" onclick="clickOnload2();">
      <a id="6" onclick="sethighlight(5);showDiv('div_show6', this);" href="javascript:;">附件列表</a>
    </li>

    到这儿,这个问题总算解决了,不知道有没有其他的解决办法,即使用plupload前端插件上传文件在ie和火狐下上传按钮第一次点击无效的解决办法,若是各位看到了这个,请大大们帮忙解决呀~~~在这里先行谢过!

  • 相关阅读:
    什么是webApp?与原生APP的区别
    判断h5是否在小程序内打开
    移动端 1px边框
    【填坑】小程序webview使用简单汇总
    一个小程序账号只能发布一个小程序
    微信开发工具提示未绑定网页开发者
    小程序webview(业务域名配置)
    webpack打包已开发好的vue项目
    vscode搭建本地服务器
    微信扫码下载,H5引导页
  • 原文地址:https://www.cnblogs.com/moutudou/p/7794100.html
Copyright © 2011-2022 走看看