问题
So I am using this current script below:
<script type="text/javascript">
if (window.location.href.indexOf('thevault') > -1) {
//window.location = 'http://thevault.co.uk/index.phtml?d=512060’;
window.location = '/index.phtml?d=512060';
} else {
//window.location = 'http://www.jths.co.uk/index.phtml?d=541300';
window.location = '/index.phtml?d=541300';
}
</script>
Which works fine, however I want to add another condition
if the url is: http://www.nationalforestteachingschool.co.uk , then go to this page:
https://thevault.jths.co.uk/index.phtml?d=550968
I have tried the else if command but can't seem to get it working, this needs to be in one continous script, any ideas??
回答1:
I made this small script to avoid having too many if / else statements, basically you define all your checks and redirects in the beginning and then let the script loop through them:
http://jsfiddle.net/XYaFg/1/
var Redirects = function(currentUrl) {
var urls = [
{
check : 'thevault',
redirect : 'http://thevault.co.uk/index.phtml?d=512060'
},
{
check : 'fiddle',
redirect : 'http://another-url-to-redirect-to.html'
},
{
check : 'last-url-check',
redirect : 'http://some-more-redirect.html'
},
];
this.init = function() {
var length = urls.length;
for ( var i = 0 ; i < length ; i++) {
var current = urls[i];
if( currentUrl.indexOf(current.check) > -1) {
alert("Redirecting to " + current.redirect);
//window.location = current.redirect
}
}
}
this.init();
}
var redirects = new Redirects(window.location.href)
You have to uncomment the "window.location" row and comment out the "alert" stuff
回答2:
Please have a look at W3Schools site.
If...else if...else Statement
if (condition1)
{
code to be executed if condition1 is true
}
else if (condition2)
{
code to be executed if condition2 is true
}
else
{
code to be executed if neither condition1 nor condition2 is true
}
You can chain many else if
blocks if you need to..
Consider using the Switch statement as well.
来源:https://stackoverflow.com/questions/17528707/else-if-url-redirection