[code=JScript]<div id="Reload"><script language=Javascript src=http://au.yoowan.com/ReviewContent.asp?NewsID=072712133880782 ></script></div>我试了用innerHTML重新让他载入 "<script language=Javascript src=http://au.yoowan.com/ReviewContent.asp?NewsID=072712133880782 charset=gb2312></script>"这样不行,好像不能这样嵌套,不知道有没人在不用iframe的情况下重新刷新 层 Reload 里的js呢?而且innerHTML ms只能是文本字串,如果有onclick之类的执行代码 估计也不执行。能动态刷新src就好了。给 script 加一个id 测试了下没成功。能用ajax怎么写呢?
2.ajax可以设置不看缓存load.例如在jquery中.jQuery 代码:$.ajax({
url: "test.html",
cache: false,//false为不读缓存.
success: function(html){
$("#results").append(html);
}
});
<input type="button" onclick="document.getElementById('Js').src=document.getElementById('Js').src+'&_dc='+new Date().getTime()" value="重新加载"/>
此楼能解决楼主问题,在需要刷新时,调用一下就可以document.getElementById('Js').src=document.getElementById('Js').src+'&'+new Date().getTime();
document.getElementById('Js').src=src_url+'&'+new Date().getTime();
2楼的没看明白。
3楼和4楼的答案我马上去测试一下。期待哪位能用ajax完美解决这个问题啊。哈哈。回头来补分
<div id="list">
<script type="text/javascript" src="http://xxx.com/list/a.php?id=9&uid=788&n=8"></script>
</div>
这个div里面的js调用的是一个用户的评论列表,查询的是数据库,只要数据库改变(新增评论),他的展示结果就变。同时,在这个html页面有一个表单是提交评论的。这个表单提交后页面是不会刷新的。数据已经提交到数据库。
那么这时上面的那个div里面的js地址是没变,但是所展示列表结果已经发生了改变。即增加了刚刚新提交的评论。想实现的效果是:
表单提交后页面不刷新,数据提交到数据库这个我已经实现了,但是无法实现那个js调用的结果自动更新。
function addListener(element, eventType, listener){
if (element.addEventListener) {
element.addEventListener(eventType, listener, false);
} else if (element.attachEvent) {
element.attachEvent('on' + eventType, listener);
} else {
element['on' + eventType] = listener;
}
}
function makeJS(url){
var js = document.createElement('script');
js.type = 'text/javascript';
js.src = url;
return js;
}
// 用于页面加载完成之后,调用时需要放在HTML的底部
function addJS(url){
document.getElementsByTagName('head')[0].appendChild(makeJS(url));
}
// 用于页面加载完成之前,调用时需要放在HTML的顶部
function loadJS(url){
addListener(document.body, 'load',function(){
addJS(url);
});
}
我想楼主以为,js文件刷新了,页面内容也应该同时刷新.这个想法是错误的,如果刷新的js文件仅仅传输数据,而没有执行刷新页面内容的代码,页面内容又怎么可能自己刷新呢,当然要写其它程序或调用已有的程序重新生成内容.
请楼主看看js文件内容是否有调用刷新页面内容的代码.
<head>
<meta content="text/html; charset=UTF-8">
<script type="text/javascript">
function makeJS(url){
var js = document.createElement('script');
js.type = 'text/javascript';
js.src = url;
return js;
}
// 用于页面加载完成之后,调用时需要放在HTML的底部,或在body的onload里
function addJS(url){
document.getElementsByTagName('head')[0].appendChild(makeJS(url));
}
</script>
</head>
<body onload="addJS('test.js')">
</body>
</html>
if (element.addEventListener) {
element.addEventListener(eventType, listener, false);
} else if (element.attachEvent) {
element.attachEvent('on' + eventType, listener);
} else {
element['on' + eventType] = listener;
}
}// 用于页面加载完成之前,调用时需要放在HTML的顶部
function loadJS(url){
addListener(window, 'load', function(){
addJS(url);
});
}