条件缓存页面重定向
Conditional Cached Page Redirect
我正在尝试根据网站访问者的选择设置条件缓存重定向。
下面是一个我希望拥有网站功能的例子(你可以通过访问vonage.com来测试):
当我访问www.vonage.com时,我可以在"个人、小企业、中端市场和企业"之间做出选择。
做出选择后,您将被发送到相关网站/子域-vonage.com、personal.vonage.com或enterprise.vonage.com.
然后,如果你试图返回到有选择的初始页面,你将无法返回,你将被重定向回你已经做出的选择。
这是怎么做到的?我想实现类似的功能。顺便说一句,我正在使用Wordpress,但这可能无关紧要,我可以在代码或.htaccess.
可能有更好的方法,这是java脚本,而不是php,但cookie应该可以做到这一点。
页面加载时检查cookie是否存在,是否重定向,如果不重定向:
if (document.cookie.indexOf("home") >= 0) {
// redirect them to home
}
else if (document.cookie.indexOf("business") >= 0) {
// redirect them to business
}
else if (document.cookie.indexOf("enterprise") >= 0) {
// redirect them to enterprise
}
如果这些都没有触发,并且用户在选择选项时没有重定向,则设置他们的cookie,例如:
// set a new cookie
expiry = new Date();
expiry.setTime(date.getTime()+(10*60*1000)); // Ten minutes
// Date()'s toGMTSting() method will format the date correctly for a cookie
document.cookie = "business; expires=" + expiry.toGMTString();
(function(href, referrer) {
var enterprise = "http://enterprise.mysite.com"
var personal = "http://personal.mysite.com"
var is_enterprise = new RegExp(enterprise).test(href)
var is_personal = new RegExp(personal).test(href)
var cache = readCookie('portal')
if (cache) return location.href = cache
var portal = is_enterprise || is_personal
if (portal) document.cookie = "portal=" + (enterprise || personal) + "; expires=Fri, 31 Dec 9999 23:59:59 GMT";
return null
})(location.href, document.referrer)
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
相关文章:
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- 如何在chrome扩展中重定向到html页面
- 无法从jquery Mobile导航栏重定向到另一个页面
- ng视图外的链接重定向到ng视图内的页面
- 在phonegap应用程序内部重定向不起作用
- CORS-重定向到第二个GET正在接收的页面
- AJAX不会在文件上传后重定向到网页-POST方法
- 重定向时角度刷新浏览器
- 通过链接重定向不;我不在jstree中工作
- 登录后重定向,缓存页面问题-Javascript
- 让 Chrome 和 Safari 浏览器在重定向后显示缓存的页面
- 条件缓存页面重定向
- 如何使javascript加载新数据每次(不使用缓存数据),当我重定向到一个处理程序(页)在鼠标点击
- 浏览器显示缓存文件而不是重定向
- 如何在重定向到外部页面之前在jquery中预加载(缓存)它
- 重定向到带有回发或缓存的页面
- PHP重定向后图像不刷新(缓存问题?)
- Javascript重定向页面和刷新缓存在同一时间