2011-02-03 6 views
3

내 웹 사이트에 버튼과 같은 페이스 북을 추가했습니다. 아래의 jscript가로드 될 때까지 지연이 발생하고 나머지 페이지는 완료 될 때까지로드되지 않습니다. 또한 방화벽으로 페이스 북을 차단하면 포기하기 전에 매우 긴 지연 시간이 있고 내 페이지의 나머지 부분이 표시됩니다. 내 페이지를 먼저 표시 한 다음 단추처럼 표시하려면 어떻게합니까? (페이스 북에 문제가있을 경우 어떤 일이 일어날 지 알기 위해 그 일을했습니다.) 또한 다른 페이지를로드 할 때 버튼과 같은 페이 스북이 다시로드됩니다 (재로드 될 때까지 눈에 띄지 않습니다 - 1/3 초). 버튼은 같은 위치에 있습니다 모든 페이지에 배너 상단에 있습니다. 다른 이미지는 다시로드되지 않고 캐싱되며 다른 페이지를 선택할 때 정적으로 나타납니다. 해당 스크립트를 캐시 할 수있는 방법이 있습니까?페이스 북과 같은 단추로 내 웹 사이트의로드가 지연되지 않도록하려면 어떻게해야합니까?

<div style="position: absolute; top:20px; right:85px; width:70px; height:25px"> 
    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
    <fb:like href="http://www.facebook.com/pages/somepage/somenum" layout="box_count" show_faces="false" width="50"></fb:like> 
</div> 

감사

UPDATE : 여기

코드의 내가 비동기 로딩 all.js이 코드 발견 :이 블록을하지 않도록

는 "또 다른 방법은 비동기 적으로로드하는 것입니다 내 페이지의 다른 요소로드 : "

<div id="fb-root"></div><script>window.fbAsyncInit = function() { 
FB.init({appId: 'your app id', status: true, cookie: true, 
xfbml: true}); 
}; 
(function() { 
var e = document.createElement('script'); e.async = true; 
e.src = document.location.protocol + 
'//connect.facebook.net/en_US/all.js'; 
document.getElementById('fb-root').appendChild(e); 
}()); 
</script> 

하지만 "앱 ID는 무엇입니까?" 그 코드는 여기에서 있습니다 http://www.mohammedarif.com/?p=180

답변

1

질문에 대한 업데이트에서 설명한대로 비동기 적으로로드 할 수 있습니다. 당신은 페이스 북에서 "응용 프로그램 만들기"에서 응용 프로그램 ID를 얻을. (구글이 ...)

+0

여기에 따르면 : https://developers.facebook.com/docs/reference/javascript/FB.init/ 앱 ID는 선택 사항입니다. – roadsunknown

1

요소로드는 코드에서 위에서 아래로 발생합니다. 매우 큰 리소스가 코드 상단에로드되면 총로드가 지연됩니다. 이전에 페이지를 표시하려면이 버튼을 코드 끝에 붙여 넣으십시오.

+0

당신이 브라우저에서 JScript를 유지해야하는 방법을 알아 데 도움이 http://developer.yahoo.com/performance/rules.html

에서 웹 사이트의 성능 튜닝에 관한 자세한 도움말을 얻을 희망이 있습니다 캐시, 그래서 그것은 지속적으로 다시로드되지 않습니다? – harold

+0

글쎄, 내가 물어 본 질문에 답했다. 다른 문제를 해결하기 위해 새로운 질문을 작성할 것입니다. – harold

+0

나는 업데이 트를했고, 답이없는 질문을 표시했다. – harold

1

해롤드, 당신은 내 웹 사이트의 코드를 가지고, 덕분에 여기서 다시 볼 수 있습니다 :

은, 하나는 당신은 2 가지를 요구했다

FB 앱의 ID이며 다른 하나는 자바 스크립트 캐싱 .

희망, 이미 앱 ID를 얻는 방법이 있습니다. 다음 요점에 대해 이야기 해 봅시다.

정적 리소스 (JavaScript/CSS)에 대한 HTTP 헤더의 만료일 또는 최대 보존 기간을 설정하면 브라우저가 네트워크를 통하지 않고 로컬 디스크에서 이전에 다운로드 한 리소스를로드하도록 지시합니다. htaccess로 파일에서

AddOutputFilter DEFLATE css js 
ExpiresActive On 
ExpiresByType application/x-javascript A2592000 

당신은

관련 문제