2013-07-30 121 views
1

我需要獲得當前標題和5秒後重定向到:獲取網頁標題和重定向

http://mysite.org/redirect1.php?title=TITLE PAGE WHIT JAVASCRIPT

這裏是我的代碼

if(country=="MX"){ 
    url="http://mysite.org/redirect1.php?title=TITLE PAGE"; 
} else if (country == "ES") { 
    url="http://mysite.org/redirect2.php?title=TITLE PAGE"; 
} else if (country == "PE") { 
    url="http://mysite.org/redirect1.php?title=TITLE PAGE"; 
} else if (country == "AR") { 
    url="http://mysite.org/redirect3.php?title=TITLE PAGE"; 
} else if (country == "PY") { 
    url="http://mysite.org/redirect4.php?title=TITLE PAGE"; 
} else if (country == "CO") { 
    url="http://mysite.org/redirect1.php?title=TITLE PAGE"; 
} else if (country == "CL") { 
    url="http://mysite.org/redirect1.php?title=TITLE PAGE"; 
} else { 
    url="http://mysite.org/blank.htm"; 
} 
setTimeout("location.href = url;",5000); 

我覺得是這樣的:

var title = document.title; 
    if(country=="MX"){ 
     url="http://mysite.org/redirect1.php?title"+title; 
    } 
+0

從哪裏和什麼時候獲得'標題頁'? –

回答

1

礦比使用對象表示法更多的「硬編碼」。

var url = "http://mysite.org/@[email protected]"; 
var blank; 
var timeout = 5000; 
switch (country) { 
    case "MX": 
     url = url.replace("@[email protected]", "redirect1.php"); 
     break; 
    case "ES": 
     url = url.replace("@[email protected]", "redirect2.php"); 
     break; 
    case "PE": 
     url = url.replace("@[email protected]", "redirect1.php"); 
     break; 
    case "AR": 
     url = url.replace("@[email protected]", "redirect3.php"); 
     break; 
    case "PY": 
     url = url.replace("@[email protected]", "redirect4.php"); 
     break; 
    case "CO": 
     url = url.replace("@[email protected]", "redirect1.php"); 
     break; 
    case "CL": 
     url = url.replace("@[email protected]", "redirect1.php"); 
     break; 
    default: 
     url = url.replace("@[email protected]", "blank.htm"); 
     blank = true; 
} 

if (!blank) { 
    url += "?title=" + encodeURIComponent(document.title); 
} 

setTimeout(function() { 
    window.location.href = url; 
}, timeout); 
1

嘗試使用setTimeout等待5秒鐘,然後window.location設置新位置。 encodeURIComponent用於「淨化」或編碼URI參數(在本例中爲標題)。

var delay = 5000; // 5 seconds in milliseconds 
setTimeout(function() { 
    window.location = 'http://mysite.org/redirect1.php?title=' + encodeURIComponent(document.title); 
}, delay); 
+2

可能值得'encodeURIComponent(document.title)'。 –

+0

@DavidThomas對,我剛剛更新了我的答案。 – federicot

3

讓我們重構了一下....

var countryMap = { 
    MX: 'redirect1.php', 
    PE: 'redirect2.php', 
    /* etc. */ 
}; 

setTimeout(function() { 
    window.location = 'http://mysite.org/' + countryMap[country] + '?title=' + encodeURIComponent(document.title); 
}, 5000); 

setTimeout是所有你需要設置5秒的延遲。 document.title獲得當前標題。 countryMap是包含您希望鏈接到的所有文檔的映射的對象。

1

重定向這樣

window.setTimeout(function() { 
    window.location = "http://mysite.org/redirect1.php?title"+title; 
}, 5000);