1

我有这个 jQuery 脚本,它计算某个 div 上的点击次数,然后在第二次点击时,它将用户重定向到自定义 url。即使用户离开页面,该脚本也会起作用并计算点击次数。

function traffic(){
    var traffic = $('.model').data("traffic");
    if(traffic){
        var nbc = localStorage['nbc']||0;
        $('.model a').click(function(){
            localStorage['nbc'] = ++nbc;
            if(nbc%2==0){
                window.open(traffic, '_blank');
            }
        });
    }
} 

现在,我是一个 ajax 的新手(实际上我对此一无所知,我是一个网站管理员而不是一个逾期截止日期的程序员),我需要一些帮助:

我需要一个ajax 调用,在操作时将第二次点击发送到一个 php 变量中,这样我就可以使用如下代码(并避免与另一个脚本冲突的“window.open”方法我在页面上使用):

   if($number_of_clicks == 2){
       echo 'my new link, a method which will save me from using window.open';
   } else {
       echo 'my ragular link';
   }

可以做到吗?

更新

让我解释一下,我的错是没有更清楚。

用户进入我的网站并点击正常链接。Jquery 存储该事件并且用户转到内部页面。

当他点击主页按钮时,ajax 将该事件发送到一个 php 变量,所以我将有 $myvar=1。

现在我可以更改我网站上的特定链接:

if($myvar == 1){
           echo 'my new link';
       } else {
           echo 'my ragular link';
       }

现在,当用户单击该链接时,他将转到新链接。

希望我更清楚一点。

泰!

4

2 回答 2

0

获得点击 PHP 的唯一方法是只发出 AJAX 请求。例如:

$.get('/clickonce.php');

然后在 PHP 中你可以这样做:

<?php
$myvar = 1;
?>

但这并不完美。将调用 clickonce.php 代码,但由于它是一个新页面请求,因此存在延迟,因此互联网/服务器响应速度较慢,可能需要几秒钟才能实际记录。

考虑到您的 window.open 与另一个脚本(我假设它是 javascript)冲突,我会选择 javascript 解决方案。

var clickedOnce = false;
function traffic(){
    var traffic = $('.model').data("traffic");
    if(traffic){
        var nbc = localStorage['nbc']||0;
        $('.model a').click(function(){
            localStorage['nbc'] = ++nbc;
            if(nbc%2==0){
                window.open(traffic, '_blank');
            } else {
                clickedOnce = true;
            }
        });
    }
} 

现在在您的其他 javascript 脚本中,您可以检查if (!clickedOnce) { //do something }

于 2012-12-06T11:43:32.827 回答
0

好吧,您可以使用 jQuery 简单地发出 AJAX 获取请求。

$.get('/your.php', function(url) {
     // value echoed by your php page will be available in the url variable passed into this function.
     // You can do what you want with it.
     alert(url);
});
于 2012-12-06T11:43:36.023 回答