구 글-analytics(또는 다른 제3자)의 JS 를 불 러 오 는 방법
5487 단어 google-analyticsJS
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-123456-1");
pageTracker._trackPageview();
} catch(err) {}</script>
이 코드 를 보고 document.write 를 사용 하여 JS 를 불 러 옵 니 다.주의 하 세 요.이렇게 js 를 불 러 오 는 것 은 불 러 오 는 것 을 막 는 것 입 니 다.바로 이 js 가 불 러 오지 않 았 고 뒤의 모든 자원 과 JS 는 다운로드 하고 실행 할 수 없습니다.아마도 당신 은 이 코드 가 body 의 맨 뒤에 있다 는 것 을 느 낄 것 입 니 다.그 후에 내용 이 없고 막 을 것 이 없습니다.많은 사람들 이 JS 를 쓸 때 페이지 로 딩 이 끝 난 후에 JS 나 AJAX 를 실행 해 야 한다 고 믿 습 니 다.보통 window.onload 이벤트 에 쓰 거나 jquery 의$(document).ready()방법 에 쓰 입 니 다.이 JS 들 이 막 힐 겁 니 다.만약 우리 페이지 의 많은 데이터 가 window.onload 에서 AJAX 로 불 러 옵 니 다.하필 이때 ga 는 어떤 이유 로 접근 할 수 없 거나 접근 이 느 릴 때 입 니 다.문 제 는 바로 우리 자신의 JS 가 ga 의 JS 로 딩 이 끝나 기 를 기다 리 고 있 습 니 다.ga 의 js 로 딩 시간 이 초과 되 어야 만 우리 의 JS 를 실행 할 수 있 습 니 다.인 스 턴 스:아래 코드 는 jquery 를 사용 하여 document.ready 에서 ajax 요청 1 개 를 보 냅 니 다(126.com 요청).테스트 전에 host 파일 을 수정 하여 가 의 js 를 불 러 올 수 없 게 합 니 다:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.get("http://www.126.com/");
});
</script>
</head>
<body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-123456-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
모니터링 그림: 위의 그림 에서 ga 를 불 러 올 수 없 음 을 알 수 있 습 니 다.20 초 초과 후에 야 우리 의 ajax 요청 을 실 행 했 습 니 다.우리 의 ajax 요청 은 0.173s 밖 에 안 되 었 지만 20s 를 기 다 렸 습 니 다.가:가 를 합 리 적 으로 사용 하려 면 두 가지 문 제 를 해결 해 야 합 니 다.gat._getTracker("UA-123456-1");pageTracker._trackPageview(); 코드js 를 불 러 오 는 것 을 막 지 않 는 방법 은 주로 2 가지 가 있 습 니 다.1.동적 으로그림 에서 ga 가 20s 를 불 러 왔 음 을 알 수 있 지만,우리 의 ajax 요청 은 20s 를 기다 린 후에 야 실행 되 지 않 고 즉시 실행 되 었 습 니 다.
jquery 로 딩 가:
위 에 코드 가 많이 쓰 여 있 고 번 거 로 울 수 있 습 니 다.jquery 를 사용 하면 다음 과 같이 간략화 할 수 있 습 니 다.
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
$.getScript(gaJsHost + "google-analytics.com/ga.js",function(){
try {
var pageTracker = _gat._getTracker("UA-123456-16");
pageTracker._trackPageview();
} catch(err) {}
});
필요 하 시 면 확인 하 십시오.고성능 WEB 개발 시리즈[성명]전재 출처 를 밝 혀 주 십시오.http://www.cnblogs.com/BearsTaR/。 상용 금지!이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조에 요소 구현 방법 요약 포함 여부for를 사용하는 장점은break와 결합하여 조건을 만족시키는 상황에서 즉시 순환을 뛰어넘을 수 있다는 것이다. 만약에 첫 번째 요소가 조건에 부합된다면 후속 순환 절차는 모두 최적화되어 직접 뛰어넘을 수 있다. 그...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.