目前正致力于使用ajax进行某些分页。我想要做的是在某些链接的末尾添加类似referal = 3的内容,然后当他们转到该链接时,我将插入一个带窗口位置的后退按钮,例如:
用户使用ajax分页,转到第3页我会在链接的末尾添加?ref = 3或者其他东西,所以它会这样:
http://foo.com/somepage/?ref=3
(不确定这是否是一种正确的做法)
然后,用户点击该链接,我将在该页面上添加一个带有该链接的后退按钮。
因此当他们使用生成的按钮返回主页时,window.location.href将是:
http://foo.com?ref=3
这个想法是,当他们点击后退按钮时,ajax分页将加载到第3页。
我不确定如何解释这一点,但是有谁知道如何根据window.location.href做一个条件语句?
答案 0 :(得分:3)
要查找url是否包含某些字符串:
if (document.location.href.search("ref=3")!=-1){
alert('got ref=3');
}
答案 1 :(得分:1)
您可以使用此函数来获取查询字符串的一部分:
function getQueryString(variable){
// Grab the query string part of the URL (everything after the ?)
var query = window.location.search.substring(1);
// If you don't specify which value you want, return the whole thing
if(!variable) return query;
// Split the query string to key=value pairs into an array
var vars = query.split('&');
// Loop through them to find the one we're looking for
for (var i = 0; i < vars.length; i++){
// Split key and value
var pair = vars[i].split('=');
// If the key matches our parameter, return the value
if (pair[0] == variable){
return pair[1];
}
}
// If not found, return empty string
return '';
}
然后您可以通过以下方式将值作为字符串获取:
var value = getQueryString('ref');
// Conditional code if it is a certain value, do something
if(value === '3'){
// Do something
}
您也可以使用parseInt()
:
var value = parseInt(getQueryString('ref'), 10);
if(value === 3){
// Do something
}
答案 2 :(得分:0)
我不确定我完全理解你想做什么,但听起来你想要研究使用location.hash属性。
使用jQuery插件,例如hashchange,您可以向浏览器历史记录添加ajax调用。此外,所有页面都是可收藏的。这是一个非常广泛的主题,但我提供的链接应该让你开始。