Подсчет кликов по ссылке продукта от Твиттер.

Тема в разделе "JavaScript", создана пользователем Sankaboy, 5 май 2012.

Модераторы: ZiX
  1. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Привет. Нужно засчитать клик по специфической ссылке "Твитнуть".
    Вот ссылка:
    <a href="https://twitter.com/share" class="twitter-share-button" data-url="none" data-text="Текст твита" data-lang="ru" data-count="none">Твитнуть</a>

    Вот скрипт для ссылки (открывает окно при нажатии на ссылку:(
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>


    Уточнение:
    При нажатии на ссылку нужно, чтобы сработало условие пхп.
    Помогите! Думаю уже неделю, думал гугл и яндекс.
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.405
    Симпатии:
    1.185
    Можно повесить функцию на клик по ссылке ( http://htmlbook.ru/html/attr/onclick ), которая будет запрос к твоему серверу делать. Если от php нужен результат, то через ajax, если не нужен, то проще в текущий документ дописать <img src="http://сайтик.ru/твой_скрипт.php">
     
  3. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    onclick - ковырял. Ничего толкового не получилось. Почему-то onclick не работает в данном примере ссылки.
     
  4. Andipas

    Andipas Постоялец

    Регистр.:
    5 дек 2007
    Сообщения:
    130
    Симпатии:
    92
    С помощью jquery:
    <html>
    <body>
    <a href="https://twitter.com/share" class="twitter-share-button" data-url="none" data-text="Текст твита" data-lang="ru" data-count="none">Твитнуть</a>
    <!-- подключаем jquery -->
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
    <!-- вешаем onclick -->
    <script>
    $(document).ready(function () {
    $(".twitter-share-button").bind('click', function() {alert(111)});
    });
    </script>
    </body>
    </html>


    без jquery, добавляя onclick к ссылке:
    <html>
    <body>
    <a href="https://twitter.com/share" class="twitter-share-button" data-url="none" data-text="Текст твита" data-lang="ru" data-count="none" onclick="myFunction()">Твитнуть</a>
    <script>
    function myFunction() {
    alert(111);
    }
    </script>
    </body>
    </html>


    вместо alert(111); делаете ajax-запрос на сервер и пишете клик: http://jquery-docs.ru/ajax/jquery-ajax/#examples
     
  5. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Спасибо! А если много таких кнопок на 1-й странице. Их к примеру хочу идентифицировать по ИД, то как мне в скриптах с этим бороться? Думаю через onclick - будет реальнее сделать.
     
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.405
    Симпатии:
    1.185
    Для jquery:
    Код:
    $(".twitter-share-button").bind('click', function() {alert($(this).attr("id"))});
     
  7. Andipas

    Andipas Постоялец

    Регистр.:
    5 дек 2007
    Сообщения:
    130
    Симпатии:
    92
    Без использования jquery (может у вас mootools на странице) можно обойтись чистым js для идентификации ID элемента:
    <html>
    <body>
    <a href="https://twitter.com/share" id="twitter-1" class="twitter-share-button" data-url="none" data-text="Текст твита" data-lang="ru" data-count="none" onclick="myFunction(this)">Твитнуть1</a>
    <a href="https://twitter.com/share" id="twitter-2" class="twitter-share-button" data-url="none" data-text="Текст твита" data-lang="ru" data-count="none" onclick="myFunction(this)">Твитнуть2</a>
    <a href="https://twitter.com/share" id="twitter-3" class="twitter-share-button" data-url="none" data-text="Текст твита" data-lang="ru" data-count="none" onclick="myFunction(this)">Твитнуть3</a>
    <a href="https://twitter.com/share" id="twitter-4" class="twitter-share-button" data-url="none" data-text="Текст твита" data-lang="ru" data-count="none" onclick="myFunction(this)">Твитнуть4</a>
    <script>
    function myFunction(elem) {
    var id = elem.id;
    console.log(id);
    }
    </script>
    </body>
    </html>
     
  8. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Что-то пробовал выводить номер ид так и не получилось.
     
  9. Andipas

    Andipas Постоялец

    Регистр.:
    5 дек 2007
    Сообщения:
    130
    Симпатии:
    92
    вместо console.log(id); напишите alert(id);
     
  10. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Не, не получается у меня. Может не так вывожу. Подскажите?