1

当用户单击 WordPress 菜单上的“论坛”链接时,我想显示一个 javascript 消息框。

消息框应显示一条消息,例如“您将离开此网站...”,一旦用户确认消息框,它应该在新选项卡中打开一个外部链接。

我试过这个,但是当我离开网站或重新加载页面时,它会触发消息框。我只想在单个 WordPress 菜单项上显示此消息框。

我看到了一些教程来做到这一点,但无法在 WordPress 菜单上做到这一点。

WordPress 无法识别javascript:void(0)URL 部分或任何其他 javascript 功能。

有任何想法吗??

4

4 回答 4

1

你有 jQuery 加载吗?论坛链接在哪里?代码在哪里?

<a href="http://www.yourforum.com" onclick="return confirm('Are you sure you want to leave?');" />
于 2012-08-16T08:25:25.950 回答
1

将链接位置设置为如下所示:

javascript: if (confirm('Are you sure you want to leave?')) {window.open('http://www.yourforum.com','_blank');}

应该生成像这样的html:

<a href="javascript: if (confirm('Are you sure you want to leave?')) {window.open('http://www.yourforum.com','_blank');}">Link</a>

我在 JS fiddle 中对此进行了测试,似乎可以正常工作,因此您应该可以将其作为数据库中的链接位置。

编辑:

// for a new tab
window.open(url,'_blank');
// for a redirect in same window
window.location=url;
于 2012-08-16T09:35:25.293 回答
1

如果您可以在任何地方向您的页面添加任何 javascript,则可以执行以下操作(需要 jQuery,但您说您已经加载了):

$("a[href='http://example.com/forum']").click(function() {
    alert("Good bye!");
    return true;
});
于 2012-08-16T09:49:18.007 回答
1

最后我让它工作了。我正在一步一步地解释它,所以有类似问题的人可以解决这个问题:

  1. 放入#您想要 JavaScript 函数的 wordpress 菜单 URL。
  2. 从源代码跟踪此菜单 url (li ID) 链接。在我的情况下 li id 是menu-item-88. (这个 id 是由 wordpress 自动生成的,并且总是唯一的)
  3. 将以下代码放在</head>当前主题的 head 标记(打开 header.php 查找)的末尾之前。
  4. 不要忘记将 menu-id 更改menu-item-88为您的。

<script type="text/javascript">

jQuery.noConflict();
jQuery(document).ready(function(){
var menuID = jQuery('#menu-item-82');

findA = menuID.find('a');

findA.click(function(event){
if(confirm("YOU ARE LEAVING THE WEBSITE" + '\n' + "" + '\n' + "You are about to leaving the website to go to the external forum" + '\n' + "" + '\n' + "The FORUM will open in a new tab")) 
{
window.open('http://www.yourforum.com/','_blank'); //This will open the website in a new tab
}

});
});
</script>

这需要 jQuery。因此,如果未加载 jQuery,请将以下行也添加到您的脑海中。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

这将提示您,您将离开网站。如果单击确定,它将在新选项卡中打开给定的链接。

行。仅此而已..这会变魔术。

于 2012-08-16T10:25:39.927 回答