这将是一个漫长的过程。
我有一个要求,我必须在我的遗留网页中使用网址重定向(基本上是一个完整的静态HTML页面)。
我的要求是每次都将用户重定向,从静态html页面到.aspx页面
即如果我的早期页面被发现在
http://web.vatsag.com/app/en/downloadsite.htm
然后我必须重定向到下一页(.aspx)
http://web.vatsag.com/app/newdownloadsite.aspx
目前我在我的html页面中使用了javascript,
即
window.location="http://web.vatsag.com/app/newdownloadsite.aspx"
downloadsite.htm 页面的 head 部分中的脚本
现在出现问题
如何查询多个网址参数?
即。 当URL请求类似于
时http://web.vatsag.com/app/en/downloadsite.htm?lang=de&vers=1.10
我应该使用相同的URL参数重定向到aspx页面。
http://web.vatsag.com/app/newdownloadsite.aspx?lang=de&vers=1.10
我有一个javascript片段,它返回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;
}
如何使用此代码段获取最终重定向到ASPX网页的所有网址参数?
非常感谢您的帮助
VATSAG
答案 0 :(得分:1)
我认为此代码会为您提供您之后的网址
// Original URL
var url = window.location.href;
var newUrl = "";
// Split the String to get the Query strings
var splitString = url.split('?');
if (splitString.length > 1)
{
// New Url With Query strings
newUrl = "http://web.vatsag.com/app/newdownloadsite.aspx" + "?" + splitString[1];
}
else
{
// New Url With NO query string
newUrl = "http://web.vatsag.com/app/newdownloadsite.aspx"
}
答案 1 :(得分:0)
您可以通过在旧页面上使用简单的元标记轻松完成您的任务,该元标记可以重定向到您的新网页。
将以下行添加到旧静态html页面的head部分:
<meta http-equiv="Refresh" content="0;URL=new_page_url" />
答案 2 :(得分:0)
window.location不是字符串,它是一个struct / class。它有自己的成员变量。分配location="something"
时,您将分配给href成员。您可以查看其他成员。
此外,另请注意:不建议指定整个地址,如http://web.vatsag.com/app/newdownloadsite.aspx
。相反,请使用../newdownloadsite.aspx
。如果您将来重新安置您的网站,这将有所帮助。
要回答您的问题,请尝试:
location=location.pathname.replace(/en\/downloadsite.htm$/,"newdownloadsite.aspx") + location.search + location.hash;
//Host name, protocol, port number is taken from current one. (Making it more portable)
//By using pathname.replace, you ensure that if the directory path depth of the original html page on server is changed, still it would be portable.
顺便说一句,MVCKarl的回答 - .split("?")[1]
- 也应该取代location.search + location.hash
。