비동기 버전의 Google Analytics 추적 코드를 웹 사이트에 추가하려고합니다.외부 JS 파일의 Google Analytics 비동기 코드 사용
자바 스크립트를 별도의 파일로 유지하고 거기에서 호출하고 싶습니다. 여기
내가 현재 내의 .js 파일에있어 무엇 :
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
function loadtracking() {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
addLoadEvent(loadtracking);
을 그리고 여기 내 마스터 페이지의 <head>
태그에있어 무엇 : 그러나
<script type="text/javascript" src="js/google-analytics.js" ></script>
, 거기에 분명히 문제가 며칠 후, 나는 통계를 얻지 못하고있다!
내가 바꿀 필요가있는 아이디어가 있습니까?
감사합니다, 닐
편집 : 좋아요 ... 다음과 같은 몇 가지 피드백 후, 나는 내의 .js 파일의 새로운 현재 내용을 추가하겠습니다. 나는 그것을 계속 업데이트 할 것이므로 만약 이것이 풀리면 다른 사람들이 비슷한 일을 시도하는 데 도움이 될 것입니다.
var _gaq = _gaq || [];
function loadtracking() {
window._gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
window._gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
loadtracking();
문제가 해결 되었습니까? .js 파일에서 var _gaq를 전역 적으로 정의 했어도 동일한 문제가 발생합니다. 감사. –
내가 기억하는 한, 그렇습니다. 솔직히, 대부분의 응용 프로그램에 대해서는 아래 조언을 따르고 코드를 문서에 직접 삽입하는 것이 좋습니다 ...이 특정 프로젝트에서는 별도의 파일에 있어야한다는 요구 사항이었습니다. 너와 함께한 사건. – NeilD
저는 많은 비슷한 스레드를 읽고 있었기 때문에 사람들이 스크립트를로드하는 데 약간의 지연이있을 수 있다는 것 외에 다른 문제는 없다고 말한 반면 다른 사람들은 내 인생을 망치고 지옥을 정죄한다고 말했습니다. 보려는 페이지에 따라 dif 값을 전달해야하며 웹 사이트의 모든 페이지가 아닌 단일 파일에 코드 변경 사항을 유지하려고합니다.잘 작동하는 것처럼 보이지만, 만났던 문제를 기억할 수 있으면 알려주세요. 고맙습니다. –