2010-12-09 1 views
3

20 개의 기사가있는 페이지가 있으며 각 기사마다 태그를 사용하여 구현 된 Facebook Like Button이 있습니다.페이지에 여러 개의 "좋아하는 버튼"이 있습니다

왜냐하면 Firefox는 비슷한 버튼에 대해 백그라운드에서 쿼리를 작성하기 때문에 사이트가 크게 느려집니다.

이로드를 줄이려면 할 수있는 것이 있습니까?

+1

나는 동일한 문제가 있으며, Firefox의 경우 (주소 표시 줄이 버튼처럼 모든 FB에서 깜박임) 더 나쁩니다. 정말 이것에 대한 좋은 해결책을 찾고 있습니다. – Cristian

답변

2

iframe을 사용하여 좋아하는 버튼을 표시한다고 가정합니다. 성능은 iframe 사용의 단점입니다. 20 개의 iframe이 있다면 20 개의 웹 페이지를로드하는 것과 같습니다 (20 개의 독립적 인 http 요청이 있음). 브라우저마다 도메인 당 연결 제한이 있으므로 많은 iframe을로드하는 데 시간이 걸릴 수 있습니다. 이는 도메인 당 연결 제한이 2 인 오래된 브라우저에서 특히 그렇습니다. 즉 한 번에 2 개의 iframe 만로드 할 수 있습니다. iframe에는 다른 다운로드를 차단하는 부작용이있을 수 있으므로 문제가 더욱 악화됩니다. 현재 iframe이 성능 문제에 대해 모든 것을 읽을 수 있습니다

http://www.stevesouders.com/blog/2009/06/03/using-iframes-sparingly/

가능하다면, 당신은 버튼 대신 iframe이 같은 xfbml 사용을 고려할 수 있습니다. 안타깝게도 Facebook의 JavaScript SDK를로드해야하지만 20 개의 버튼이 있으면 전반적인 성능이 향상됩니다. 대안으로

+2

저는 이미 xfbml 코드를 사용하고 있다고 확신합니다. ' wyred

+0

나는 그들이뿐만 아니라 xfbml에 대한 iframe을 사용 몰랐어요 감사를 알려셔서... –

1

, 당신은 xfbml의 아이디어에 치열하지 않으면, 당신은 OpenLike 같은 서비스 시도 할 수 : 자신의 docs에서 http://openlike.org/

:

위젯이 처음 로딩에 의해 만들어집니다 OpenLike 자바 스크립트를 호출 한 다음 OPENLIKE.Widget()을 호출합니다. 여러 위지트 (widget)를 동일한 페이지에 임베드 할 수 있으며 각각 다른 옵션을 사용할 수 있습니다.

+0

이것은 나를 위해 잘 작동하는 것처럼 보였지만 여전히 약간의 버그를 느낍니다.첫 번째 위젯은 페이지의 로고를 보여 주었고 다음 위젯은 내가 원하는 것과 같은 단추를 보여주었습니다. 이것은 내 코드입니다. OPENLIKE.Widget ({s : [ "facebook"], url : " '.'http : //localhost/read/'.$p [ 'id']. '', title : "test by tester"}) – wyred

+0

나는 이슈 트래커를 살펴보고 구글 토론을 간략히 들었고 그와 같은 것을 보지 못했다. 아주 이상한. 아직도 일어나고 있니? – jyoseph

+0

그것은 고립 된 문제 일 수있다, 나의 ipad에 그것을 보지 말라. 이것은 내 노트북에서보고있는 것입니다 : http://beta.tarutarutimes-online.net/images/weird-behaviour.png. 실제 페이지는 여기에서 볼 수 있습니다. http://beta.tarutarutimes-online.net – wyred

3

Like 아이콘이 비동기 적으로로드되는 경우에도 모든 추가 IFRAMES는 실제로 JavaScript SDK를 사용하는 것보다 빠릅니다. 페이지에 약 18 개의 버튼이 있습니다. 적어도 IFRAME 방식은 JS 버전과 같은 사용자의 속도 저하를 초래하지 않습니다. 유일한 단점은 Like 버튼이 페이지에 "팝업"을 조금 나타냅니다. 늦은 IFRAMES.

0

나는이 솔루션과 비슷한 것으로 끝났다. Lots of XFBML Facebook Like buttons are slow?은 JQuery Sonar이다. 나를 위해 트릭을하는 것처럼 보입니다. 모든 버튼을로드하는 단일 호출을 선호하지만 그것은 내 제어 밖에 있습니다.

내가 할 수있는 시간이 더 많은 경우 페이 스북 API를 사용하여 카운트를 얻고 자신의 버튼을 만듭니다 (실제로 마우스를 올려 놓으면 실제 버튼을로드합니다. 기능을 원하지만 iirc는 "공유 "직접 기능). 나는 현재 페이스 북을 마사지 할 시간이 없다. 그래서 이것은 내가 너무 많은 단점을 가지고 있다고 생각하지 않으며 여러 사이트에서 사용되는 것으로 보이는 일종의 임시 변통이다.