var url = "doSomething.action";
myDiv.innerHTML = "<iframe id='frame' width='100%' height='100%' src='"+url+"' frameborder='0'></iframe>";--------------------------------
页面打开时,doSomething.action会被请求两次
如果我直接在页面写<iframe id='frame' width='100%' height='100%' src='doSomething.action' frameborder='0'>页面打开时,doSomething.action只被请求一次,但是无论我刷新父页面还是子页面,doSomething.action都会被请求两次---------------------------------
请问这个现象如何解释,有什么解决办法?谢谢!

解决方案 »

  1.   

    IFRAME.src导致的典型问题,不要直接写src属性,以下是一个解决方法:
    <script language="javascript" type="text/javascript">  
    var ifr = document.createElement("IFRAME");  
     ifr.frameBorder = 0;  
     ifr.scrolling = "no";   
     ifr.src = "http://www.baidu.com?tmp=" + (new Date().getTime().toString(36));   
     document.body.appendChild(ifr);   
     ifr.width = 500;  
     ifr.height = 500;  
    </script>  
    注意 ifr.src必须在append之前给值,不然又是两次请求.
      

  2.   

    非常感谢jillcomputer的回答!不过我按照你的方法并不凑效!然而我发现同样一个iframe,只有一个url会请求两次,经过一而再的试验比对,结果发现,在会出现重复请求的url的转向页面中的<body>设置了background="#FFFFFF",取消就不再重复请求,加上就会重复请求!这个发现真令我百思不得其解,不就设置一个页面背景颜色吗?
      

  3.   

    仔细看了一下,body标签中的background="#FFFFFF"用错了,写成bgcolor="#FFFFFF"就好了,不存在重复请求的问题了!据此,看起来,是错误地设置了body标签的背景颜色属性才导致的页面重复请求,虽然该页面位于iframe内,但貌似与iframe没有多大关系对这个结论不太自信