我这里涉及这样一个问题,测试如下:
<a href="#" onclick="iframeloader('frameContent1','about.asp'); document.getElementById('frame').style.height=document.getElementById('frameContent1').offsetHeight;javascript:ScrollSection('about-pane', 'scroller', 'home-pane'); return false">点击这个链接,没有“卡塔”声音</a>但是当我把  document.getElementById('frame').style.height=document.getElementById('frameContent1').offsetHeight;javascript:ScrollSection('about-pane', 'scroller', 'home-pane'); return false 这一部分也写在外部函数iframeloader中,成为下面这个的时候点击就会有声音,为什么呢?
<a href="#"  onclick="iframeloader('frameContent','about-pane','about.asp');">点击这个链接,总是始终有“卡塔”声</a>总的iframeloader也就新增了以下部分,功能是一样一样的,但是就是有点击的卡塔声。
<script type="text/javascript">
function iframeloader (iframeid,movepane,url){
       ……
       var frame = document.getElementById("frame");
       var iframe = document.getElementById(iframeid);
       frame.style.height = iframe.offsetHeight;
       ScrollSection(movepane, 'scroller', 'home-pane');
       return false
       ……
}
</script>我所说的卡塔声如果不理解,请访问下面两个连接,点击按钮就知道了!
这个页面点击按钮时是没有声音的
http://www.codefidelity.com/coda/
而下面这个页面点击时却有"卡塔"一声
http://www.ndoherty.com/demos/coda-slider/1.1.1/什么原因导致的呢?

解决方案 »

  1.   

    iframeloader('frameContent1','about.asp'); 少一个参数不知道是不是你笔误,
    最好不要在标签的 onclick 里写代码,最好是界面和脚本分离,<LINK> 外部的JS文件,用OBJECT.ONCLICK添加事件处理函数比较好,
    另外,不通浏览器的脚本解释引擎对ECMAScript标准的支持是不一样的,推荐网站http://www.quirksmode.org/
      

  2.   

    iframeloader('frameContent1','about.asp'); document.getElementById('frame').style.height=document.getElementById('frameContent1').offsetHeight;javascript:ScrollSection('about-pane', 'scroller', 'home-pane'); return false感觉这段不对 ,为什么在中间一个语句上加了JavaScript:?
    这里没有函数 为什么用return?
      

  3.   


    <a href="#" onclick="">点击这个链接,有“卡塔”声音,因为没有:return false,从而“换页”,由于连接到"#",即页面指向本页最上端 </a> 
    <br>
    <a href="#" onclick="return false">点击这个链接,没有“卡塔”声音 ,因为有:return false,从而不“换页”</a>
    <br>
    <br><hr>
    <br>下面把 "#"换为"http://..."
    <br>
    <br><a href="http://topic.csdn.net/u/20090510/20/7a1decb2-fe19-43c9-aff5-fbb204f2a80f.htmlbr" onclick="">点击这个链接,有“卡塔”声音,因为没有:return false,从而“换页” </a> 
    <br>
    <a href="http://topic.csdn.net/u/20090510/20/7a1decb2-fe19-43c9-aff5-fbb204f2a80f.htmlbr" onclick="return false">点击这个链接,没有“卡塔”声音 ,因为有:return false,从而不“换页”</a>
      

  4.   

    通过js语句 iframe.src=url; 来加载iframe时总是会出现加载刷新时的声音 
    iframe.src=url;有什么替代的写法吗?比如下面这个 加载时总是有一声卡塔声的
    <!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>
    <style>
    *{margin:0; padding:0;}
    </style>
    </head>
    <body>
    <div id="loading" align="center" style="display:none;"><img src="http://sc.cnwebshow.com/upimg/allimg/070707/01294420.gif" />&nbsp;loading...</div> <!-- 首先放一个div,用做loading效果 -->
    <iframe id="frameContent0" name="frameContent0" src="" width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0"></iframe> <!-- src 里面放你想要的网页-->
    <input type="button" value="加载iframe" onclick="iframeloader('frameContent0','http://g.cn/')">
    <script type="text/javascript">
    //<![CDATA[
    function iframeloader (iframeid,url){
    var a = document.getElementById(iframeid);
    var b = document.getElementById("loading");
    a.style.display = "none"; //隐藏
    b.style.display = "block"; //显示
    a.src=url;
    a.onreadystatechange = function() {
    if (this.readyState=="complete") { // 解释:一个iframe加载完毕的状态是complete,
    b.innerHTML = "load complete!";
    b.style.display = "none";
    a.style.display = "block";
    }
    }
    }
    //]]>
    </script>
    </body>