明月松间照 清泉石上流


                                        ——— 兵临城下   猫科动物
posts - 70, comments - 137, trackbacks - 0, articles - 23
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

又遇到js的问题了,关于window.open

Posted on 2006-11-16 16:09 兵临城下 阅读(1282) 评论(3)  编辑  收藏 所属分类: JavaScript
      最近调试程序遇到一个问题:window.open(url,"window",wStyle);
这条js代码本是根据url转到指定的servlet,然而我发现调试时有时他不走servlet,不知道为什么,我不是一次两次遇到这个情况了。经常是第一次调用它走servlet,可再一次调用这个js时它又不走了。
      有次临时的解决方案,只能用:
      document.mainform.action = url;
      document.mainform.submit();
      来提交。但总是觉得那样比较麻烦,是不是window.open方法还有一些我不知道的特性,请各位指点,怎样才能使它每次都走后台?谢谢

评论

# re: 又遇到js的问题了,关于window.open  回复  更多评论   

2006-11-16 17:00 by loocky
document.mainform.action = url;
document.mainform.submit();

走的是form的提交方式
window.open(url,"window",wStyle);
是纯粹JS弹出

# re: 又遇到js的问题了,关于window.open  回复  更多评论   

2006-11-16 17:24 by 兵临城下
但window.open()也不是每次都不走后台啊,我感觉第一次调用它还是走的,只是感觉它好像有缓存似的,我在目的jsp页面中session.getAttribute("CUST_REF")得到的都是老数据,好像页面都不重新解析。
但我用window.open(url,"",wStyle)就每次都走后台了,只是每次都打开一个新窗口,这越让我感觉好像js缓存了页面,window.open(url,"window",wStyle) 他会去找window的页面,如果有是不是就直接转过去了,不走后台了,郁闷!

# re: 又遇到js的问题了,关于window.open  回复  更多评论   

2006-11-22 11:29 by BeanSoft
让 JSP 不缓存:

HTML 格式:

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">

让JSP不缓存方法网页头部加上
代码内容
<%
response.setHeader("Pragma","No-cache");//HTTP 1.1
response.setHeader("Cache-Control","no-cache");//HTTP 1.0
response.setHeader("Expires","0");//防止被proxy
%>

试试!

只有注册用户登录后才能发表评论。


网站导航: