点击.menu a让iframe 的scrolling属性显示或隐藏demo地址:
http://skyming.13.bname.us/question/iframe/iframe_scrolling.htmfirefox当点击google时可以显示iframe滚动条,但ie(我用的是ie6)下发现iframe 滚动条没显示出来,请问哪里除了问题?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>iframe scrolling</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
function iframe_scrolling(){
$(".menu a").click(function(e){
$("#iframe").attr({"src":this.href});
e.preventDefault();
if(/google/.test(this.href)){
$("#iframe").attr("scrolling","yes");
}else{
$("#iframe").attr("scrolling","no");
}
});
}
$(function(){
 iframe_scrolling();
});
</script>
</head>
<body>
<div class="menu">
<ul>
<li><a href="http://baidu.com">百度</a></li>
<li><a href="http://google.com">google</a></li>
</ul>
</div>
<iframe id="iframe" src="http://baidu.com" scrolling="no"></iframe>
</body>
</html>

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>iframe scrolling</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
    jQuery.fn.outerHTML = function(s) {
    return (s)? this.before(s).remove():jQuery("<div>").append(this.eq(0).clone()).html();
    }
        function iframe_scrolling(){
            $(".menu a").click(function(e){
                e.preventDefault();
                s = /google/.test(this.href)?"yes":"no";
                $("#iframe").outerHTML("<iframe id=\"iframe\" src='" + this.href + "' scrolling='" + s + "'></iframe>")
            });
        }
        $(function(){
             iframe_scrolling();
        });
    </script>
    </head>
    <body>
        <div class="menu">
            <ul>
                <li><a href="http://baidu.com">百度</a></li>
                <li><a href="http://google.com">google</a></li>
            </ul>
        </div>
        <iframe id="iframe" src="http://baidu.com" scrolling="no"></iframe>
    </body>
    </html>
      

  2.   

    谢谢hookee哥,可以是可以,就是在firefox下点点击连接后闪动了一下,感觉很不爽。
    我自己也写了个,ie下可以换,效果也不很好
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>iframe scrolling</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
    // 检测浏览器
    function detectBrower(){    
        var sUserAgent = navigator.userAgent;    
        var isOpera = sUserAgent.indexOf("Opera") > -1;   
        if(isOpera) return "Opera";   
        var isKHTML = sUserAgent.indexOf("KHTML") > -1 || sUserAgent.indexOf("Konqueror") > -1 || sUserAgent.indexOf("AppleWebKit") > -1;   
        var isSafari = sUserAgent.indexOf("AppleWebKit") > -1 && isKHTML;   
        var isKonq = sUserAgent.indexOf("Konqueror") > -1 && isKHTML;   
        if(isSafari) return "Safari";   
        if(isKonq) return "Konqueror";   
        var isIE = sUserAgent.indexOf("compatible") > -1 && sUserAgent.indexOf("MSIE") > -1 && !isOpera;   
        if(isIE) return "IE";   
        var isMoz = sUserAgent.indexOf("Gecko") > -1 && !isKHTML;   
        if(isMoz) return "Mozilla";   
        return "None";   

    var brower_type=detectBrower(); function iframe_scrolling(){
    $(".menu a").click(function(e){
    $("#iframe").attr({"src":this.href});
    e.preventDefault();
    if(/google/.test(this.href)){
    $("#iframe").attr("scrolling","yes");
    if(brower_type=="IE"){
    $("#iframe").hide().after(
    "<iframe id=\"iframe\" src=\"http://baidu.com\" scrolling=\"yes\"></iframe>"
    );
    $("#iframe").eq(0).remove();
    }
    }else{
    $("#iframe").attr("scrolling","no");
    if(brower_type=="IE"){
    $("#iframe").hide().after(
    "<iframe id=\"iframe\" src=\"http://baidu.com\" scrolling=\"no\"></iframe>"
    );
    $("#iframe").eq(0).remove();
    }
    }
    });
    }
    $(function(){
     iframe_scrolling();
    });
    </script>
    </head>
    <body>
    <div class="menu">
    <ul>
    <li><a href="http://baidu.com">百度</a></li>
    <li><a href="http://google.com">google</a></li>
    </ul>
    </div>
    <iframe id="iframe" src="http://baidu.com" scrolling="no"></iframe>
    </body>
    </html>
      

  3.   

    没找到什么好的方案,先这样蹭点分先。
    <script type="text/javascript">
        function iframe_scrolling(){
            $(".menu a").click(function(e){
    $("#iframe").replaceWith("<iframe id=\"iframe\" src=\"" + this.href + "\" scrolling=\"" + 
    (/google/.test(this.href) ? "yes" : "no") + "\"></iframe>");
                e.preventDefault();
            });
        }
        $(function(){
             iframe_scrolling();
        });
    </script>
      

  4.   

    要不就搞两个iframe控制隐藏显示就好了。