我得到了一个可通过两个urls获得的资源,例如: through lookingurl.de/nice.jsf和mybadlookingurl.de/bad123454423523413413.jsf
我不得不调用这个难看的url一次,然后我想要重定向。目前,我使用了JQuery的document-ready()-function并调用cleanUrl(),它通过top.location.href =“JQuery lookingurl.de/nice.jsf”进行重定向;
不幸的是,一个无限循环发生了,因为在onload上加载url之后,函数被一次又一次地调用。该怎么办呢?
下面是JS-Code (我使用了一个技巧来读取带有创建的锚标签的URL ):
function cleanUrl(){
var url = document.url;
var a = "";
a = document.createElement( 'a' );
a.href = url;
if ( a.pathname == "/xxx/undefined"){
var cleanedUrl = "https://xxx.xxx.xx/xxx.jsf";
top.location.href = cleanedUrl;
}
}提前谢谢。
更新: currentUrl在第一次重定向后不会更新,因此仍会发生无限循环。
function cleanUrl(){
var cleanedUrl = "https://xxx.xxx.xx:xxx.jsf";
var currentUrl = window.location.href;
if ( currentUrl != cleanedUrl){
top.location.href = cleanedUrl;
}
}发布于 2012-08-29 21:54:18
谢谢Jack,我能够在服务器上处理这个问题
return mygoaljsffile.jsf?faces-redirect=true; 在我的Bean方法中。
发布于 2012-08-27 20:45:07
只是将重定向放在某种形式的条件测试中?
var cleanedUrl = "https://xxx.xxx.xx/xxx.jsf";
if(top.location.href !== cleanedUrl){
top.location.href = cleanedUrl;
}https://stackoverflow.com/questions/12141724
复制相似问题