Прежде всего. Если у вас есть javascript, встроенный в ваш html (не рекомендуется), вам не нужно иметь объявление javascript:
в событиях (onclick
в вашем примере). Было бы гораздо лучше использовать методы dom el.addEventListener('click', kenshoo_conv, false)
.
Если вам нужно запустить функцию до выгрузки страницы, вам понадобится некоторый контроль над этой функцией, чтобы знать, когда она успешно активировала отслеживание becon.
После того, как вы ваш onclick
прилагается, вы можете использовать аргумент события (который передается функции), чтобы остановить событие от стрельбы, evt.preventDefault()
, делать все, что вам нужно сделать, затем установите location.href
, когда ваш трекер Becon имеет успешно уволен.
Все вверх ваш код может выглядеть примерно так (предполагается, что все нормализуется, так что не в IE):
HTML
<a href="konkurranseregler.html" data-args="rules,0,,sem,NOK"
class="kenshoo_conv_link">KONKURRANSEREGLER</a>
JAVSCRIPT
function kenshoo_conv(evt) {
var dest = this.href,
args = this.getAttribute('data-args').split(",");
evt.preventDefault();
//add success event to arguments
args.push(function() {
location.href = dest;
});
//fire the tracking function
trackMe.apply(this, args);
}
var kenshoo_conv_links = document.getElementsByClassName("kenshoo_conv_link");
for (var i = 0, il = kenshoo_conv_links.length; i < il; i += 1) {
kenshoo_conv_links[i].addEventListener('click', kenshoo_conv, false);
}
Это сделает последний аргумент в функции trackMe вызывает обратный вызов для изменения местоположения в пункт назначения ссылки. Таким образом, вам придется запускать эту функцию после успешного запуска трекера. Если вы этого не знаете, вы можете сделать это после тайм-аута (не идеально)
Возможно, вы захотите принять некоторые ответы на вопросы, которые вы отправили, - вы получите больше интереса от членов, отвечая на ваши новые вопросы , –
Вы проверили, правильно ли загружен файл javascript, определяющий функцию 'kenshoo_conv()'? – Moses