たとえば、次の 2 つの URL から利用できるリソースを 1 つ取得しました。
見栄えの悪い URL を 1 回呼び出す必要があり、その後リダイレクトしたいと考えています。現在、JQuery の document-ready() 関数を使用して、top.location.href = "mygood lookingurl.de/nice.jsf"; 経由でリダイレクトする cleanUrl() を呼び出します。
残念ながら、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;
}
}
前もって感謝します。
更新: currentUrl は最初のリダイレクト後に更新されないため、無限ループが引き続き発生します。
function cleanUrl(){
var cleanedUrl = "https://xxx.xxx.xx:xxx.jsf";
var currentUrl = window.location.href;
if ( currentUrl != cleanedUrl){
top.location.href = cleanedUrl;
}
}