IE 中的window.open(url)

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

 在web开发的时候,需要在浏览器上新开一个窗口的时候,选用的是window.open(url);但是当url是我们需要跳转的action的时候,IE浏览器就会出现问题,IE浏览器会从当前js或者jsp所在的目录的文件下面来获取这个action,导致action找不到。

例子: action  为aa/xxx.action,aa为该action的命名空间,

            jsp或者js所在的路径为:WebRoot/public/index.jsp

            window.open(aa/xxx.action)的时候,火狐,google浏览器都能正常访问到这个action,在IE下的请求路径变为 public/aa/xxx.action,这个时候action就找不到了,我们在写url路径的时候需要加上"<%=request.getContextPath()%>/"  例如  window.open(“<%=request.getContextPath()%>/aa/xxx.action");

 在js中获取不到<%=request.getContextPath%> 我们可以在jsp中像这样定义一下,在js中就可以直接调用了

<script type="text/javascript">

var basePath = "<%=request.getContextPath()%>"

</script>

补充:

有时候需要在action后面添加参数的时候,如:"xxx.action?name="+name+"&id="+id

IE下会乱码,可以用encodeURI(url)来对url进行加工下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值