首先。如果您必须在html中嵌入JavaScript(不推荐),则不需要在事件中使用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函数中的参数用于将位置更改为链接目的地的回调。因此,一旦跟踪器成功解雇,您必须启用该功能。如果你不知道,你可以在超时后做到(不理想)
你可能想接受你发布的问题的一些答案 - 你会在成员回答你的新问题时获得更多的兴趣。 – 2012-03-20 21:26:47
您是否检查过定义了'kenshoo_conv()'函数的JavaScript文件是否已正确加载? – Moses 2012-03-20 21:33:53