zoukankan      html  css  js  c++  java
  • ie6下的iframe,问题多多。

    今天在ie6下显示velocity页面中的iframe,发现除了iframe的外框以外,src中请求的url完全没有读取成功,结果是个空的iframe。

    总结网上一共有以下几种解决办法:

     1,

    <iframe name='ifrm_select_jhs_x' src="+url+" scrolling='no' frameborder=0 width='256' height='174'></iframe> 

    ifrm_select_jhs_x.location.href = url;

    2,

    认为src不能写在<iframe的后面

    http://be-evil.org/showlog-91.html

    http://social.msdn.microsoft.com/forums/zh-TW/236/thread/a01ee23e-08d6-414d-ba22-9922f456af3c/

    3,

    认为iframe src的URL长度过长

    http://yuweijun.blogspot.com/2008/11/when-iframe-src-is-too-long-in-ie6ie7.html

    http://support.microsoft.com/kb/208427/zh-cn

     4,

    认为iframe src的URL长度过长

    http://yuweijun.blogspot.com/2008/11/when-iframe-src-is-too-long-in-ie6ie7.html

    http://support.microsoft.com/kb/208427/zh-cn

     5,

    猜测是:html书写不规范造成。因为这个结果页面是jsp动态生成的,可能其它代码造成了影响。

     

    最后解决方法:先生成iframe,点击“更多信息”时改变iframe的src,之前是采用每次点击删除之前的iframe,添加新的iframe对象。 

    6,

    今天解决了此问题 以下是核心代码
    ...........
    Container.innerHTML="<iframe id=sdfgfer567fgh name=sdfgfer567fgh src="+url+" frameborder='0' scrolling='no' width="+divwidth+" height="+divh+" marginheight='0' marginwidth='0'>";//创造iframe 并指定ID
    var ieset = navigator.userAgent;  
    if(ieset.indexOf("MSIE 6.0") > -1)//浏览器判断 如果是IE6
    setTimeout('window.parent[\'sdfgfer567fgh\'].location.reload();',0);//执行这一方法

    ......

    7,

    function logindiv() { if(Fid("login_div")) { document.body.removeChild(Fid("login_div")); } var obj_div=document.createElement("div"); obj_div.id="login_div"; obj_div.style.top =200 obj_div.style.left=100 obj_div.className="login_box"; obj_div.innerHTML=" <iframe style='400px;height:400px;border:medium none;margin:0px;padding:0px' name='Login' id='Login' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' src=''> </iframe>"; document.body.appendChild(obj_div); obj_div.getElementsByTagName("iframe")[0].src = "http://www.qq.com/"

    }

    8,

      为了实现提示框效果,从而使用动态嵌入iframe方案,但是实施过程中IE7下正常,IE6需要刷新才可正常显示,如下: 
    Js代码 
    1. this.open = function(_sUrl)  
    2. {         
    3.     this.show();  
    4.     var openIframe = "<iframe width='100%' height='100%' name='iframe_parent' id='iframe_parent' src='" + _sUrl + "' frameborder='0' scrolling='no'></iframe>";  
    5.     myInnerHTML('dialogBody', openIframe);  
    6. }  
    该方法主要将URL通过iframe形式嵌入到document中,但IE7可正常显示,IE显示空白,而且'iframe_parent' 的src属性为“”,经过漫长的调试,最终通过增加一刷新iframe语句才得以解决:document.frames('iframe_parent').location.reload(); 
        对于此类BUG的定位实在困难。

  • 相关阅读:
    有7g和2g的砝码各一个,怎样称可以3次把140g东西分为50g和90g???????
    中缀到后缀(一个例子)
    动态代理模式的使用
    代理模式用来初始化的延迟下载
    ReentrantLock Condition 实现消费者生产者问题
    Two Sum
    [leetcode]重建二叉树(先序和终须) 中序遍和后续
    (转载)旋转数组查找 最简洁方法 总结
    [不明觉厉] 下一个排列
    codeforces -- 283A
  • 原文地址:https://www.cnblogs.com/mabaishui/p/1724576.html
Copyright © 2011-2022 走看看