阻止Javascript函数中的重定向循环
Prevent redirect-loop in Javascript-function
我得到了一个资源,它可以通过两个url获得,例如:mygoodlookingurl.de/nice.jsf和mybadlookingirl.de/bad123454423523413413.jsf
我不得不调用这个不好看的url一次,然后我想重定向。目前,我使用了JQuery的document-ready()函数并调用cleanUrl(),该函数通过top.locationhref="mygoodlookingurl.de/nice.jsf"重定向;
不幸的是,会发生一个无限循环,因为在onload上加载url后,函数会被一次又一次地调用。该怎么办?
这是JS代码(我正在使用一个技巧来读取带有创建的锚标签的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;
}
}
提前谢谢。
UPDATE:currentUrl在第一次重定向后没有更新,因此仍然会发生无限循环。
function cleanUrl(){
var cleanedUrl = "https://xxx.xxx.xx:xxx.jsf";
var currentUrl = window.location.href;
if ( currentUrl != cleanedUrl){
top.location.href = cleanedUrl;
}
}
谢谢Jack,我能够通过在服务器端处理这个问题
return mygoaljsffile.jsf?faces-redirect=true;
在我的Bean方法中。
只需将重定向放入某种形式的条件测试中?
var cleanedUrl = "https://xxx.xxx.xx/xxx.jsf";
if(top.location.href !== cleanedUrl){
top.location.href = cleanedUrl;
}
相关文章:
- Javascript重定向循环直到成功
- 节点JS重定向循环
- 如何在不进入无限循环的情况下将网站重定向到Facebook画布URL
- 阻止Javascript函数中的重定向循环
- PassportJS重定向循环
- 在两次java定时器循环后重定向访问者
- 异步mongodb更新循环中最后一次迭代后的重定向
- AngularJs 和 Codeigniter 路由会导致无限重定向循环
- 重定向时的 AngularJS 无限循环
- jQuery 重定向不适用于 Rails 每个循环
- 此网页出现重定向循环
- 页面加载时重定向导致的AngularJS无限循环
- 重定向cookie卡在循环中
- 循环中的URL重定向
- 重定向时的无限循环
- 在ExpressJS中处理重定向,同时避免重定向循环
- PHP登录-结束在Chrome重定向循环
- Javascript重定向时的无限循环
- nodejs应用中认证重定向中的无限循环
- 如何修复这个重定向循环