2011-11-09 2 views
4

Google은 웹 사이트에서 추적 픽셀 수를 사용하여 방문자에 대한 통계를 수집합니다. 그러나 종종 우리가 코드에 삽입 한 제 3 자 자바 스크립트 중 일부는 해당 서버의 응답을 기다리고 있습니다. 종종 서버가 제대로 응답하지 않아 웹 사이트의 HTML 요소를 적시에 렌더링하는 데 따른 오류 메시지와 문제가 발생하여 성능 문제가 발생합니다.느린 타사 자바 스크립트 요청 감지 및 종료

타사 자바 스크립트가 원하는 시간 내에 반환되지 않을 때이를 감지하여 어떻게 든 서버 호출을 종료하고 다음 코드 줄로 진행할 수 있습니까? JQuery.delay()를 사용하는 것은 실제로이 문제에 대한 해결책이 아니라는 점에 유의하십시오.

서버에서 반환 된 오류 메시지 처리 시도 & 잡기 (오류),하지만 외부 서버에 대한 자바 스크립트 호출을 강제 종료 할 수있는 방법을 모르겠습니다.

+1

9 개의 질문 - 0 개의 답변이 허용됩니다. 이전 질문에서 답변을 수락하십시오. – epascarello

답변

2

대신 캐시를 사용하여 스크립트를로드 할 수 있습니다 :이 스크립트는 이미지와 같은 배경에서로드하게됩니다

var scriptTag = document.createElement("script"); 
scriptTag.type = "text/cache"; 
scriptTag.src = "http://thirdparty.com/foo.js"; 
scriptTag.onreadystatechange = scriptTag.onload = function() { 
    if (scriptTag.readyState == "loaded" || scriptTag.readyState == "complete") 
    { 
     // it's done loading 
    } 
} 

; 로드되면 직접 호출 할 수 있습니다. 주의해야 할 점은 여러 개의 시간이 있으면 가능한 모든 나가는 연결을 사용할 수 있다는 것입니다. 제 3 자 자바 스크립트를 직렬화하는 경우에만 최대 하나의 연결을 사용해야합니다.

이것은 head.js에서 사용되는 기술입니다. 아마도 head.js 만 사용할 수 있지만 타임 아웃 등으로 할 일을위한 추가 논리를 추가 할 수 있습니다.

+0

답장을 보내 주셔서 감사 드리며 머리를 자세히 살펴 보겠습니다 .js – partizan

관련 문제