我有一个简单的.htm网页保存在不同的文件夹,用于处理不同的语言。
里面的default.htm en文件夹(EN \的default.htm和德\的default.htm等等)
我需要重定向到基于URL参数,即如果用户有一个特定的网页
指定http://localhost/website/default.htm?lang=de
,我需要他重定向到
德\ Default.htm文件。 即德国的网页。
如果当时的ASPX页面我会用ResourceManager的废除工作轻松
并使用适当的.resx文件由.NET提供的选项的Request.QueryString
BCL。 然而,因为我使用普通的HTML页面人,我不具备专业知识的编写客户机
像JavaScript端脚本来查询的URL参数,将用户重定向到
所需的页面。
题 :
任何人都可以指导我如何在使用任何形式的客户端脚本实现相同的
实现重定向? 和我在哪里可以调用脚本功能?
即查询每一个事件后的参数。??
万分感谢
您可以使用JavaScript使用以下行来获得则params的列表很容易。
var paramArray = window.location.search.substring(1).split("&")
这将生成的查询字符串参数的数组。 从那里,你只需要添加逻辑来找到你在你的问题中指定帕拉姆和使用采取相应的重定向
window.location.href = 'some URL'; //causes the browser to refresh with the new URL
例:
function getQueryStringArray(){
var assoc=[];
var items = window.location.search.substring(1).split('&');
for(var j = 0; j < items.length; j++) {
var a = items[j].split('='); assoc[a[0]] = a[1];
}
return assoc;
}
//point at which you want to determine redirection
var qs = getQueryStringArray();
var url = '';
if (qs.lang !== 'undefined' && qs.lang) {
switch (qs.lang) {
case 'en':
url = 'blah';
break;
case 'de':
url = 'meh';
break;
}
window.location.href = url; //reroute
}
见到这对如何使用jQuery解析查询字符串参数我怎样才能在JavaScript查询字符串值?
然后,你可以重定向到与window.location的另一页
像这样的事情
<script>
$(document).ready(function(){
var p = getParameterByName("lang");
var rootUrl = "yourRootUrl";
var url = rootUrl + p + '/default.htm';
window.location = url;
});
</script>
没有jQuery的
<script>
(function(){
var p = getParameterByName("lang");
var rootUrl = "yourRootUrl/";
var url = rootUrl + p + '/default.htm';
window.location = url;
}());
</script>
下面应该为你做。 只需把它包在<script></script>
标记。
// Locate "lang=...." in the url using regex;
var a = /[\?&]lang=([^\/&#\?]+)/i.exec(window.location.pathname);
// check if the regex matched
if (a) {
// If so, redirect the user
window.location.href = "http://localhost/website/" + a[1] + "/index.htm";
}
这将节省您通过URL有循环,但它确实需要怎样的正则表达式的作品有基本的了解。