页面需要自动局部刷新frame框架中的内容,设定一个计数器,然后定时刷新,但是刷新不了,下边是我写的代码,各位看一下,是哪里出问题了?谢谢了
1 <html> 2 <head> 3 <meta charset="utf-8"/> 4 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> 5 <script type="text/javascript"> 6 function myrefresh(){ 7 document.getElementById('frame').contentWindow.location.reload(); 8 //$("#frame").window.location.reload(); 9 } 10 setTimeout('myrefresh()',1000); 11 </script> 12 </head> 13 <body> 14 <iframe id="frame" frameborder="0" scrolling="no" src="test.php"></iframe> 15 </body> 16 </html>
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"> function myrefresh() { //获取iframe对象 var iframe = document.getElementById('frame'); //取得iframe的scr 并添加一个随机函数,欺骗浏览器,每次请求都是以个新的地址,解决缓存 var scr = iframe.getAttribute('src') + '?_d=' + Math.random(); //重新设置iframe的scr iframe.setAttribute('src', scr); } setInterval('myrefresh()', 1000); </script> </head> <body> <iframe id="frame" frameborder="0" scrolling="no" src="test.php"></iframe> </body> </html>
看下,是不是你想要的效果
//var scr = iframe.getAttribute('src') + '?_d=' + Math.random();
var scr = 'test.php?_d' + Math.random(); //应该写成这样,不然后面每次都会加_d的参数
function myrefresh(){
document.getElementById('frame').src= iframe.getAttribute('src') + '?_d=' + Math.random();
}
setInterval(myrefresh,1000)