javascript - 根据点击的链接名称设置 cookie

标签 javascript jquery cookies

TLDR 单击链接时,我想分配一个 cookie,其中包含工具名称和所单击链接上的文本值。

使用Jquery.1.4.2.min.js, Jquery.cookie.1.0.js


我试图在单击链接时创建一个 cookie(将始终链接到“page.html”)。

仪器名称

文本的值

到目前为止,我正在尝试使用:

<script type="text/javascript" src="scripts/jquery-1.4.2-min.js"></script> 
<script type="text/javascript" src="scripts/jquery.cookie-1.0.js"></script>  

链接1:

<a href="page.html">link1</a>

链接2:

<a href="page.html">link2</a>

脚本:

$('a[href=page.html]').click(function()
{
var name = 'instrument';
var value = $(this).text();
$.cookie(name, value, { expires: 365 });
});

当我点击链接时,它只是加载链接,没有设置 cookie。 使用 firebug、firecookie、firequery 进行调试。没有找到用于仪器或任何相关内容的 cookie。 Onload 我会点击

"<a href="page.html">projects</a> "但不是

根本没有“$.cookie(name, value, { expires: 365 });”。

即使使用以下内容:(感谢 Sarfraz)

$('a[href="page.html"]').click(function(e)
{
 // prevent default action
 e.preventDefault();
 var name = 'instrument';
 // get link text
 var value = $(this).text();
 // set cookie
 $.cookie(name, value, { expires: 365 });
 // now go to link's location
 document.location.href = $(this).attr('href');
});

仍然不会创建 cookie。

如果我在 $.cookie~ 上添加一个断点即使点击其中一个链接,它也不会点击 断点也不 document.location.href~.

对于扎克:

预渲染 - <script type="text/javascript" src="http://localhost/tree"></script>

渲染后 -

"<div class="dtree">
<div class="dTreeNode"><img alt="" src="Images/base.png" id="id0"><a onclick="javascript: d.s(0);" href="home" class="node" id="sd0">Home</a></div>"

最佳答案

这有点骇人听闻,但对我有用。

$(document).ready( function() {
    $('a.cookier').each( function() {
        // Kill the link's link feature.
        _href = $(this).attr('href');
        $(this).attr("rel", _href).attr("href", "javascript:void(0);");
    });
    $('a.cookier').click(function() {
        var name = 'instrument';
        var value = $(this).text();
        $.cookie(name, value, { expires: 365 });
        // Go places
        document.location.href = $(this).attr('rel');
    });
});

我的标记如下所示:

<a class="cookier" href="hrrrngh.html">Shazam!</a>

我使用类似的方法在使用 AJAX 但必须正常降级的页面上“取消链接”我的链接。

注意:您可能希望选择比“cookie”更分类的类。

编辑:

您可以选择那些 <a>与其中任何一个一起,选择选择页面上其他内容的那个。

.dtree img + a
.dTreeNode > a
.dTreeNode a.node
.dTreeNode a[onclick=|javascript].node

关于javascript - 根据点击的链接名称设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2756422/

相关文章:

Javascript 秒表性能

javascript - 将带有复选框的列动态添加到表单中的html表

javascript - 冒泡排序算法 JavaScript

jquery - 溢出时向水平列表添加箭头

ruby-on-rails - 如何在 Rails 中禁用 cookie 的 URL 编码

java - Struts2登录管理和授权

javascript - 使用 setTimeout 下载多个文件

javascript - stuts2 Action 和 jquery ajax

JQuery - $.ajax POST 不会将 .data 发送到 Web 服务器

PHP - 关闭浏览器后 session 销毁