使用的是AJAX?你生成JS也要重新加载这个JS的!
最好使用AJAX吧,生成JS有点恐怖
最好使用AJAX吧,生成JS有点恐怖
解决方案 »
- 求助 -------js 隐藏table的后几行和某列
- 问一个jquery.xml2json.js 使用的问题
- 急救.javastricpt生成EXCEL对象出错喔.
- 2个域名(站点)会员一起登陆的问题(iframe中cookie的问题。)
- JS在服务器创建写入文件的问题???
- 判断多选框是否被勾选
- 一个时间加一个月份可以得到加后的时间吗?急
- 哪位朋友有这样的源代码??形如: www.51uc.com 上面的导航栏目
- 动态更新网页form中list的值
- AJAX,为什么readyState一直是0?
- JS如何变换表格内指定格的背景颜色
- 高分请教CSDN高人,这里用的是什么函数,让整个页面元素都成黑白的了,包括图片。
如果实现这个效果应该不难啊,发帖后。。你的操作。。最后
js:window.location.href=window.location.href;跳转会本页
最好贴出代码,有可能是你生成的js比较复杂,导致不能正确执行。
在服务端设置一下,那个js文件禁止客户端缓存
也可以用以下方法
<script>
document.write("<script src=Data.js?t="+(new Date()*1)+"><\/script>");
</script>
test.js?js=123123
test.html?html=1231221
等等。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Script-Type" content="text/javascript">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate,post-check=0,ptr-check=0">
<META http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT">
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<script src="test3.js" type="text/javascript"></script> <form name="form1" method="post" action="/bbc/SndUpload">
<body>
<table width="200" border="2">
<tr>
<td><div id="CommentTabs"></div></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="TiJiao"></td>
</tr>
</table>
</body>
</form></html>
<script>
jsTs();
</script>
test3.jsfunction jsTs() {
document.getElementById("CommentTabs").innerHTML= "1209997616730"
}
点提交就调用SndUpload.java类就按照当前时间.重新生成一个test3.js文件 create(System.currentTimeMillis() + "");
private boolean create(String aa) { String strContent = "function jsTs() { "; strContent += "\r\n"; strContent += "document.getElementById(\"CommentTabs\").innerHTML= \""
+ aa + "\"";
strContent += "\r\n"; strContent += "}"; boolean reValue = true; FileWriter fw = null;
try {
//这里按照时间生成一个新的.js文件
String strFile = "test3.js"; fw = new FileWriter(strFile);
BufferedWriter br = new BufferedWriter(fw);
br.write(strContent);
br.close();
fw.close(); } catch (IOException ex) {
ex.printStackTrace();
reValue = false;
}
return reValue;
}然后我每次提交的时候我看test.js文件都生成了新的但是显示内容却不刷新!除非我点右键刷新!不知道怎么解决
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Script-Type" content="text/javascript">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate,post-check=0,ptr-check=0">
<META http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT">
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<script src="test.js" type="text/javascript"></script>
<form name="form1" method="post" action="test.asp">
<table width="200" border="2">
<tr>
<td><div id="CommentTabs"></div></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="TiJiao"></td>
</tr>
</table>
</form>
</body>
</html>
<script>
jsTs();
</script>test.asp
<%
Dim fso
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Dim txtwriter
Set txtwriter=fso.OpenTextFile(Server.MapPath("test.js"),2,True)
Dim js:js="function jsTs() {document.getElementById('CommentTabs').innerHTML='"&Now&"'; }"
txtwriter.WriteLine js
txtwriter.Close
Set txtwriter=Nothing
Set fso=Nothing
Response.Redirect "test.html"'这里转向原来的html页面,没出现缓存的问题
%>
throws ServletException, IOException
{
String para =System.currentTimeMillis()+UUID.randomUUID().toString();
response.sendRedirect("目标html页?time="+para);
}
上面是 SndUpload.java的代码
你的意思是不是JSON啊,大哥。
在ie上不可以!必须手动刷新才会刷新
2 JS 由脚本动态生成时,发送(no-cache) 的HTTP头...
这就是地址 郁闷 你直接点我头像就可以进去啊
生成javascript 通过location.reload()或者window.location.href='xxx'来跳试试
我的逻辑是
应用是一个类似于留言板的功能!实现方法是
用户提交留言内容,写入数据库的,同时将留言板第一页的内容静态化成xml文件!
浏览时,只用候浏览静态html就可以了(这样高效率高些),然后html引用一个js,用这个js来读取生成的xml内容.
但是由于读取xml效率比较低.所以现在把xml换成生成js文件!结果发生如下问题不知道该怎么解决!
就是发送留言以后!页面确实也白了一下感觉是刷新了!但是新发的留言却不显示!
然后我手工刷新一下刚才新发的留言才显示出来!但在ff浏览器上没有该问题!
不知道这是什么问题该怎么解决阿
<html>
<head>
<META http-equiv="Content-Script-Type" content="text/javascript">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate,post-check=0,ptr-check=0">
<META http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT">
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type="text/javascript">
//脚本输出.js文件引用并且加个随机参数
document.write('<script src="test3.js?rnd='+Math.random()+' type="text/javascript"></'+'script>');
</script> <form name="form1" method="post" action="/bbc/SndUpload">
<body>
<table width="200" border="2">
<tr>
<td><div id="CommentTabs"></div></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="TiJiao"></td>
</tr>
</table>
</body>
</form></html>
<script>
jsTs();
</script>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />或则其他方法清除下,看是其他问题不???
还是在服务端 发送 no-cache 的HTTP头比较好,实在...大部分的做法是在JS后面加上随机数..你看看CSDN 贴子回复后的缓存清理,就明白了.
你的JS就不能直接调用,带一个随机数!
throws ServletException, IOException
{
String para =System.currentTimeMillis()+UUID.randomUUID().toString();
response.sendRedirect("目标html页?time="+para);
}
我也加了随机数了啊。.......................
就是你这个加一个随机数
如果把 no-cache 直接放在最前面的话,只要缓存中的数据没有到32K,当时ie是不会缓存的,但是当读过了no-cache标志,到了HTML其他部分时,如果数据超过了32K,IE仍然会将数据缓存起来。 这是由于IE分析一个页面的语法时是从上到下读取的
所以解决方法是给你的JS加随即数,并不是给你的HTML页加随即数,因为你的JS已经缓存,这就是IE,FF里是由于他的页面语法与IE的不同!就不存在这个问题
<HTML>
<HEAD>
<META HTTP-EQUIV="REFRESH" CONTENT="5">
<TITLE> 标题 </TITLE>
</HEAD>
<BODY>
页面的其它部分。。
</BODY>
<HEAD>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</HEAD>
</HTML>
说这样可以彻底禁止缓存