好的,我是JavaScript的新手,需要一些帮助。处理页面上的前进/后退按钮。从本质上讲,网址看起来像http://webaddress.com/details?id=27
因此,我的两个函数用于提取url并转发到同一页面,当单击其中一个按钮时,根据需要递减或递增详细信息id。例如,当有人点击下一个按钮时,会显示id=28
;如果单击了上一个,则显示id=26
。
我认为这就像子串一样,我之前已经看过它,但不知道是怎么做的。
我需要了解如何处理它。 任何帮助将不胜感激。
更新:我在下面使用@ gion_13的代码,但看起来我很想念。它似乎不起作用。任何其他帮助将不胜感激。
答案 0 :(得分:2)
您可以使用location.href
来获取或设置网址。
http://developer.mozilla.org/en/window.location
使用exec
提取标识符。
extracted_id = /id=([0-9]+)$/.exec(location.href)[1]
http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp/exec
答案 1 :(得分:1)
var url = document.location.href
答案 2 :(得分:0)
window.location
对象包含您需要的网址信息。你可以使用正则表达式解析它。以下是一些参考文献:
答案 3 :(得分:0)
要访问页面的URL,请使用document.URL,例如:
document.write(document.URL);
然后,您可以修改网址并打开新网址。
有关大量提示和提示,请参阅JavaScript HTML DOM Examples。
答案 4 :(得分:0)
function parseUrl(){
if(location.href.indexOf('?') == -1)
return null;
var aux = location.href.split('?');
var result = {
'href' : aux[0],
'params' : {}
};
var p = aux[1].split('&');
for(var i=0,l=p.length;i++)
{
var kv = p[i].split('=');
params[kv[0]] = kv[1];
}
return result;
}
function reconstructUrl(obj){
if(!obj)
return location;
var url = obj.href + '?';
for(var i in obj.params)
url += i + '=' + obj.params[i] + '&';
return encodeURI(url);
}
function getNextUrl(){
var urlObj = parseUrl();
urlObj.id++;
return reconstructUrl(urlObj);
}
function getPrevUrl(){
var urlObj = parseUrl();
urlObj.id--;
return reconstructUrl(urlObj);
}
答案 5 :(得分:0)
如果需要,您可以在没有Javascript的情况下执行此操作。我认为使用PHP会更有效,因为即使某些用户禁用了Javascript,它也能正常工作。
您可以尝试获取这样的ID:
<?php $my_id = $_GET['id']; ?>