Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2013, 05:56   #1
tol64
 
Аватар для tol64
 
Регистрация: 16.03.2010
Сообщений: 6
По умолчанию Не открывается ссылка в новом окне

Здравствуйте!

Настроил отслеживание переходов на внешние сайты и вижу, что в Google Analytics всё фиксируется. Но только переход осуществляется в этом же окне (вкладке браузера), даже если явно в параметрах ссылки прописано, что нужно открывать сайт по ссылке в новой вкладке.

Код:
<a href="ссылка" target="_blank" rel="nofollow" onclick="trackOutboundLink(this, 'Категория', 'действие'); return false;">Перейти на сайт</a>
Если убрать код отслеживания:

Код:
onclick="trackOutboundLink(this, 'Категория', 'действие'); return false;"
...то всё работает.

Подскажите, как сделать так, чтобы сайт открывался в новой вкладке с кодом отслеживания?
Мой блог TRADING WAY >> http://tol64.blogspot.com
tol64 вне форума Ответить с цитированием
Старый 18.07.2013, 06:41   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вас return false отменяет действие по умолчанию от клика, а в том же окне открывает этот ваш скрипт.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.07.2013, 07:19   #3
tol64
 
Аватар для tol64
 
Регистрация: 16.03.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
у вас return false отменяет действие по умолчанию от клика, а в том же окне открывает этот ваш скрипт.
То есть, нужно код функции trackOutboundLink() немного изменить?

Код:
    <!-- Задержка и отслеживание выходов на внешние сайты -->
    <script type='text/javascript'>
      function trackOutboundLink(link, category, action) {
      try {
         _gaq.push(["_trackEvent", category , action]);
      } catch(err){}
      setTimeout(function() {
         document.location.href = link.href;
        }, 100);
      }
    </script>
Попробовал заменить строку:

Код:
document.location.href = link.href;
..на такую:

Код:
window.open(link.href);
...и всё получилось. Спасибо.

А вот такой у меня ещё вопрос.

В картах Google, когда данные для отображения на карте берутся из сводных таблиц (Fusion Tables), можно настроить, как будет отображаться информация для того или иного маркера в информационном окне, которое открывается при клике по маркеру. Настройка заключается в том, что просто нужно прописать для информационного окна html-код в специально предназначенной для этого форме.

Там же можно прописать стиль (CSS) и поставить ссылку. Так вот, если попытаться поставить там код отслеживания (см. ниже), то ничего не выходит. Переходы не отслеживаются.

Код:
<div class="googft-info-window">
<a href="link" target="_blank" rel="nofollow" onclick="trackOutboundLink(this, 'Category', 'Action'); return false;">Перейти на сайт</a>
</div>
На самом деле вот этот код, при просмотре страницы, когда информационное окно открыто, просто отсутствует.

Код:
onclick="trackOutboundLink(this, 'Category', 'Action'); return false;"
Наверное особенность Fusion Tables (вырезает код) ?

Подскажите, как можно решить эту задачу? Нужно отслеживать переходы и из информационного окна тоже.
Мой блог TRADING WAY >> http://tol64.blogspot.com

Последний раз редактировалось tol64; 18.07.2013 в 07:27.
tol64 вне форума Ответить с цитированием
Старый 20.07.2013, 07:47   #4
tol64
 
Аватар для tol64
 
Регистрация: 16.03.2010
Сообщений: 6
По умолчанию

По вопросу из предыдущего сообщения подсказали на одном англоязычном форуме, но я пока не знаю, как это сделать:

Цитата:
"javascript-code will be stripped from the templates and you can't get around it. You must create your own InfoWindow instead or bind a click-listener to the document to observe the click."
Примерный перевод:

JavaScript-код будет вырезан из шаблонов и вы не можете обойти это. Вы должны создать свой собственный InfoWindow вместо штатного или привязать клик-прослушиватель к документу, который будет отслеживать клики мыши.

Второй вариант (выделенное) наверное попроще будет. Мне нужно хотя бы узнать, какие функции для этого можно использовать или небольшой пример.
Мой блог TRADING WAY >> http://tol64.blogspot.com
tol64 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ячейка в новом окне mitiay БД в Delphi 7 16.01.2011 17:51
Открытие в новом окне Kapitann JavaScript, Ajax 2 07.08.2010 13:43
в новом окне jone Общие вопросы Delphi 1 05.10.2008 12:25
Открытие ссылки в новом окне vitalik007 HTML и CSS 3 24.10.2007 17:07
Открытие ссылки в новом окне илья too HTML и CSS 1 14.07.2007 13:31