2013-11-15 2 views
0

링크를 클릭하면 trackevent를 푸시하려고하지만 어쨌든이 이벤트는 분석 대시 보드에 표시되지 않으므로 해고 된 것으로 보입니다.Google Analytics는 knockout.js 데이터 바인딩에서 trackevent를 푸시합니다.

을 heres 관련 앵커 태그

<a target="_blank" data-bind="attr:{href: 'http://www.xyz.de/profile/id/'+id()},click:function(){_gaq.push(['_trackEvent', 'Search', 'GoTo Homepage', 'Profile',slug]);}"> 

누구에게 아이디어가있다? 어떤 도움

미리 감사

업데이트 : URL에 푸시 이벤트 설정 창 위치 후 링크를 ​​klicking의 기본 동작을 방지하기 위해 tryed,하지만 또한 작동하지

좋아 :

data-bind="attr:{href: 'http://www.xyz.de/profile/id/'+id()},click:function(){return false;_gaq.push(['_trackEvent', 'Search', 'GoTo Homepage', 'Profile',slug]);window.location = 'http://www.xyz.de/profile/id/'+id();}" 

내가 옳은 길입니까?

+0

같은 데이터 바인딩 뭔가를 적용 할 수 있는가? – nemesv

+0

그것은 프로파일의 이름이고, 앵커 태그는 ko-foreach 안에 있고 observableArray의 객체의 속성입니다. 반복합니다. 그래서 이것은 수행 할 일이 없어야합니다. 가장 최근 추측은 페이지가 푸시되기 전에 변경된다는 것입니다. 이벤트 실행 –

답변

0

난 당신이 한 번의 클릭 이벤트를 처리하려고하는 가정 무언가를, 다음에서는 window.location 변경 -에 그런

<a data-bind="click: trackEvent"> 

-

당신의 앵커 태그에 처리기를 바인딩 클릭 등록을 조회 모델 -

function trackEvent() { 
    // Not sure what you are doing here but copied it in as-was 
    _gaq.push(['_trackEvent', 'Search', 'GoTo Homepage', 'Profile',slug]); 
    gotoHomePage(); 
} 

function gotoHomePage() { 
    var newUrl = 'http://www.xyz.de/profile/id/' + id(); 
    window.location.href = newUrl; 
    return true; // Not sure if you are using promises anywhere 
} 
2

맞춤 바인딩을 사용하여 유용하다고 판단했습니다.

ko.bindingHandlers.gaEvent = { 
    init: function (element, valueAccessor, allBindings, viewModel, bindingContext) { 
     { 
      var value = valueAccessor(); 
      var gaObj = (typeof value === 'object' && !(value instanceof Array)); 
      if (gaObj) { 
       var evt = value.event; 
       if (evt.category != undefined); 
        ga('send', 'event', evt.category, evt.action != undefined ? evt.action : '', evt.label != undefined ? evt.label : ''); 
      }     
     } 
    }, 
    update: function (element, valueAccessor, allBindings, viewModel, bindingContext) { 
    } 
}; 

그리고 당신은`slug`는 무엇이

div class="module" data-bind="gaEvent: { event: { category: 'Traffic', action:'Manage'} }" 
관련 문제