如何根据读取cookie值使超链接指向不同的url
How to make a hyperlink point to different url based on a read cookie value?
场景
在我的网站上,我在每个页面的菜单(通常的"服务"、"关于我们"、"联系我们"菜单(上都有"contactus.html"页面的链接,每个页面都是使用dreamweaver模板创建的,菜单只能在.dwt模板文件本身中编辑。
当用户第一次访问"index.html"时,一个名为"客户端位置"的cookie与客户端的位置一起放置。
预期结果:
当客户端单击联系我们菜单项时,我想读取客户端位置cookie,并将用户发送到右侧的联系人页面,例如contactus2.html或contactus3.html.
我从下面链接中的stackoverflow答案中得到了这个。类似这样的东西会出现在script.js文件中
{
document.getElementById("contactlink").onclick = function() {
var clientlocation = readCookie(); // this returns contact1.html, a weblink
document.getElementById("contactlink").href=clientlocation;
}
可能的问题:
完全有可能的是,当用户第一次访问该网站时,他/她会直接进入"关于我们"部分,而cookie根本不会被放置来提及他们的位置。在这种情况下,我想转到contatus1.html,这是一个通用的联系我们页面。
如果javascript被禁用了,那么浏览器一点击就不会去任何地方了。
我在网上查了一下如何更改href<a>标签按钮点击javascript,但我想知道a( 会有任何可访问性问题b( 如果这是一个好的方法
您的"联系我们"页面肯定会有一个固定的位置吗?对我来说,这似乎是对饼干的不必要的使用。
example.com/ContactUs
可以通过链接到../ContactUs
等从example.com/stuff/About
引用。
同样,您可以通过使用location.protocol + '//' + location.host
(此处返回example.com
(并附加必要的页面来提取文档根。
var clientlocation = location.protocol + '//' + location.host + '/ContactUs';
document.getElementById("contactlink").href=clientlocation;
如果javascript被禁用,那么您将无能为力。javascript将无法执行。此流可以由服务器端脚本独立于浏览器处理。
您不能将链接的href设置为contactus1.html吗?这样,如果禁用JS,链接仍然可以工作吗?至于未设置的cookie,您只需检查clientLocation是否为null(或为空或您的readCookie函数返回的任何内容(,如果是,则将href设置为contactus1.html.
解决这个问题的一种方法是使用PHP。
就像你说的,如果用户浏览器不支持JS,或者只是没有JS,它就不会工作,所以服务器端解决方案可能会更好。
例如:
<?php
function generateLink($location)
{
switch($location)
{
case 0:
echo '<a href="location1.html">Contact us</a>';
break;
case 1:
echo '<a href="location2.html">Contact us</a>';
break;
}
}
?>
- 将值传递到url的超链接
- 浏览器将超链接指定的href解释为完全不同的url
- 如何仅为特定URL向超链接添加属性
- javascript拆分URL超链接
- Javascript RegExp 解析 URL 使超链接忽略 img src
- 如何在页面加载时从超链接打开URL
- 保存超链接URL's来自所选文本
- 在所有超链接的状态下隐藏URL
- 鼠标悬停时如何将url隐藏在超链接中
- JSON文件中的超链接URL值
- 获取URL并将文件夹或文件名传递给超链接
- 如何在javascript中获得所有超链接url和创建onclick
- 使用jQuery / JavaScript从超链接获取完整的URL
- 如何在javascript函数中获得gridview中我的超链接字段的url
- 将当前浏览器URL添加到HTML超链接中
- Google Apps Script在body中查找url并将其格式化为超链接
- 如何在粘贴时自动将url转换为超链接
- 如何根据读取cookie值使超链接指向不同的url
- 如何存储点击超链接的URL
- 超链接中的当前页面URL