2012-12-20 2 views
0

사용자가 로그인 할 때 페이지에 html을 삽입하는 웹 사이트에서 작업하고 있습니다.Html 요소가 제품에서 사라졌습니다.

<span data-log-in-status="complete-sign-up" data-log-in-type="email" id="log_in_status" style="display:none;"></span> 

다음으로이 요소를 찾아 Google 애널리틱스로 푸시하는 페이지로드 이벤트가 있습니다. 개발 과정에서 페이지 소스에서이 요소를 볼 수 있지만이 요소는 찾을 수 없습니다. ...

그러나이 두 가지 환경에서 분석 완료 알림 이벤트가 발생합니다. !

그러나 실제로 어떤 일이 벌어지고 있는지 이해하고 싶습니다. (분석 이벤트가 정확한 데이터를 발생시키는) 페이지에 나타나는 것처럼 보이지만 사라집니다 ... 내가 생각할 수있는 유일한 것은 자바 스크립트 조각은 어떻게 든이 요소를 제거하거나 브라우저에서 제거합니다.

$(document).ready(function() { 
    var status, loginStatus; 
    loginStatus = $('#log_in_status'); 

    if(loginStatus) { 
     login_type = $(loginStatus[0]).attr('data-log-in-type'); 
     status = $(loginStatus[0]).attr('data-log-in-status'); 

     pushGAEvent(status, login_type, null, null); 
     if(status === 'complete-sign-up') { 
       goog_report_conversion(); //adwords 
     } 
    } 
}); 

생각을 :

enter image description here

다음은이 데이터를 취득하고 분석에 밀어 자바 스크립트 코드입니다 :

다음은 네트워크에 무슨 일이 일어나고 있는지의 스크린 샷입니까?

+2

? 누군가가이 문제에 응답하기 전에 최소한 자바 스크립트를 게시해야합니다. – rjmunro

+0

코드가 작동합니다. 이상한 점은 html 요소가 사라지는 것입니다. 어쨌든 나는 그것을 게시 할 것이지만 어떻게 도움이 될지 모르겠다. –

+0

약간의 주제는 있지만 .attr (...)을 호출하면 인덱서 호출이나 $ 함수 호출이 필요 없습니다 :'loginStatus.attr ('data-log-in-type');' –

답변

0

비어있는 jQuery 객체조차도 참으로 평가되므로 코드가 날씨에 관계없이 또는 요소가 존재하지 않아도 항상 실행됩니다.

시도 :

대신
if (loginStatus.length > 0) 

:

당신이 요소를 찾아 구글에 게시하는 데 사용하는 어떤 코드
if (loginStatus) 
+0

rjmunro를 지적 해 주셔서 고맙습니다.이 말이 맞습니다. 그래도 원래 질문에 대답하지 않습니다. –

+0

이것은 요소가 누락 되어도 분석 완료 알림 이벤트가 프로덕션에서 시작되는 이유를 설명합니다. 따라서 문제는 서버 측에있을 가능성이 있습니다. 요소는 프로덕션 서버에 추가되지 않습니다. – rjmunro

관련 문제