您的位置:首页 > Web前端 > JavaScript

JSF1.2页面跳转时,IE和Chrome,FireFox浏览器不兼容的一个小问题

2010-08-23 15:32 656 查看
前一段时间在工作中遇到一个小问题,我们产品的结构如下:

FMReport

|

-src

-test

|

-Webapp

            |

            -html

            -WEB-INF

            -...

其中html是存放页面和JSF的,在List页面(也在html目录下)中有一个New的按钮,点击后跳转到html目录下的一个jsf页面,代码最初这样写:

<input type="button" value="New..." onclick="document.location.href=scheduleTaskOperation.jsf;"></input>
 

这样在IE下面测试通不过,而在Chrome和FireFox下没有问题,

浏览器的地址栏内容在IE中为:http://server地址/应用名称/scheduleTaskOperation.jsf。明显少了/html目录。

在Chrome和FireFox中正确。

 

随后有修改成下面的代码:

<input type="button" value="New..." onclick="document.location.href=/html/scheduleTaskOperation.jsf;"></input>
 

这次是在IE下面测试通过,而Chrome和FireFox却不行了。

浏览器的地址栏内容在IE中正确。

在Chrome和FireFox中为:http://server地址/应用名称/html/html
/scheduleTaskOperation.jsf。明显多了一个/html目录。

 

解决方法不是很优雅,但是工作正常:

我写了一个JavaScript函数去处理浏览器地址栏中的内容,具体代码如下:

<input type="button" value="New..." onclick="redircttonew();"></input>
function redircttonew(){
//先得到浏览器地址栏中的内容,数据类型为Object
url=document.location;
//数据类型转换为字符串
url = url+"";
//将浏览器地址栏中最后一个“/”之前的内容截取
url = url.substring(0,url.lastIndexOf("/")+1);
document.location.href=url+'scheduleTaskOperation.jsf;
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐