设置一个cookie,点击wordpress中的菜单链接

时间:2014-10-23 20:52:11

标签: javascript wordpress cookies

我需要在点击特定菜单链接时注册cookie(我使用此cookie将移动用户从站点的移动版本重定向到桌面版本)。 在非WP站点中,我只使用onclick属性来实现此目的,如下例所示:

<script>
function setupCookie() {
    document.cookie = "desktop=true;domain=.mysite.com";
}
</script>

    <a href="mysite.com" onclick="setupCookie();"> Desktop version </a>

但由于菜单的处理方式,我在Wordpress中无法做到这一点,HTML结构就是这样(我使用自定义CSS WP菜单字段添加了类desktop-redirect)。

<li class="desktop-redirect menu-item menu-item-type-custom menu-item-object-custom menu-item-1261">

<a href="mysite.com">Desktop version</a>

</li>

我尝试过这样的事情:

function setupCookie() {
        document.cookie = "desktop=true;domain=.mysite.com";
    }
    element.addEventListener("click", setupCookie(),false);
    var element = document.getElementsByClassname("desktop-redirect")[0].getElementsByTagName("a")[0];

但它不起作用(desktop-redirect类对于li元素是唯一的。)

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

function setupCookie() {
    document.cookie = "desktop=true;domain=.mysite.com";
}
document.getElementsByClassName("desktop-redirect")[0].getElementsByTagName("a")[0].addEventListener("click", setupCookie);

请注意,您的getElementsByClassName未将&#34; N&#34;在名称...不确定这是你的代码,还是一个错字,但这是一个问题。另外,在函数调用中省略了()。