想贴出我的前台代码<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../../lib/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
function showMsg(content) {
document.getElementById('board').innerHTML += '<br/>' + content;
document.close();
}
</script>
</head>
<body>
<p id="board"></p>
<iframe src="test.msg" style="display: none;">
</iframe>
</body>
</html>
servlet脚本浏览器
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../../lib/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
function showMsg(content) {
document.getElementById('board').innerHTML += '<br/>' + content;
document.close();
}
</script>
</head>
<body>
<p id="board"></p>
<iframe src="test.msg" style="display: none;">
</iframe>
</body>
</html>
servlet脚本浏览器
// resp.setContentType("text/plain;charset=UTF-8");
resp.setContentType("text/html;charset=UTF-8");
setNoCacheHeaders(resp);
ServletOutputStream out = resp.getOutputStream();
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(2000);
out.println("<script type='text/javascript'>parent.showMsg('" + "test msg no." + i + "');</script>");
//你妹,IE 浏览器,这里内容少的话,居然不响应.
//火狐也认得了.fuck
out.println("--------------------------------------------------------------------------------------");
out.println("--------------------------------------------------------------------------------------");
out.println("--------------------------------------------------------------------------------------");
out.println("--------------------------------------------------------------------------------------");
out.flush();
} catch (InterruptedException e) {
// e.printStackTrace();
}
}
} public static void setNoCacheHeaders(HttpServletResponse aResponse) {
// Set to expire far in the past.
aResponse.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT"); // Set standard HTTP/1.1 no-cache headers.
aResponse.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); // Set IE extended HTTP/1.1 no-cache headers (use addHeader).
aResponse.addHeader("Cache-Control", "post-check=0, pre-check=0"); // Set standard HTTP/1.0 no-cache header.
aResponse.setHeader("Pragma", "no-cache"); }
大家注意到 我这里输出了
几行
out.println("----------------------------------------------------------------------");
这个是解决遇到的问题.
首先在火狐浏览器中.我的servlet 输出的脚本 被浏览器自动包括起来了,而且放到了
<pre></pre>中.所以完全不能执行.
在IE 中遇到的问题是,
前几次的输出是合并的(后面几天可以实现2s一次的效果),不能实现一条一条的输出.
邮箱联系[email protected]