Có ai biết khi tham số ChannelUrl được chuyển đến FB.init, thực sự được sử dụng bởi fb js sdk không? Tôi có thể thấy nó bị ảnh hưởng trong các tệp nhật ký nginx của chúng tôi và nó dường như là từ người dùng IE8, nhưng tôi không thể tự tạo lại nó. Tôi có ứng dụng khung nội tuyến Trang Fan, với các nút tương tự và plugin nhận xét.Khi nào ChannelUrl thực sự được sử dụng?
Trả lời
bạn có thể xem bài đăng này. nó cũng được giải thích.
https://developers.facebook.com/blog/post/2011/08/02/how-to--optimize-social-plugin-performance/
liên kết bài đăng này có thể cập nhật trong tương lai. vì vậy tôi đang sao chép toàn bộ bài đăng từ blog của nhà phát triển FB bằng cách cung cấp toàn bộ tín dụng cho tác giả.
Làm thế nào-To: Tối ưu hóa Plugin Social Performance bởi Ankur Pansari - 03 tháng tám 2011 at 12:00 am
Hàng triệu trang web sử dụng XFBML để render các plugin xã hội. Chúng tôi muốn chia sẻ một số phương pháp hay nhất có thể cải thiện hiệu suất của các trang web này trên trang web của bạn. Cụ thể, chúng tôi cung cấp channelUrl tùy chỉnh và tải không đồng bộ, khi được sử dụng, sẽ cải thiện thời gian tải và giảm các vấn đề khác như tính hai lần lưu lượng truy cập giới thiệu từ Facebook.
URL kênh tùy chỉnh là thông số tùy chọn trong hàm FB.init được gọi là channelUrl. Khi bạn khởi tạo thư viện JavaScript, thêm tham số channelUrl trong hàm FB.init:
<div id="fb-root"></div>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'YOUR APP ID',
status: true, // check login status
cookie: true, // enable cookies to allow server to access session,
xfbml: true, // enable XFBML and social plugins
oauth: true, // enable OAuth 2.0
channelUrl: 'http://www.yourdomain.com/channel.html' //custom channel
});
</script>
điểm Các channelUrl vào một tập tin mà bạn thêm vào thư mục địa phương của bạn giúp cải thiện tốc độ truyền thông trong một số trình duyệt cũ. Nếu không có channelUrl, chúng tôi buộc phải sử dụng các giải pháp thay thế như tải bản sao thứ hai của trang web vào iframe ẩn để tải đúng các plugin xã hội. Cách giải quyết tăng thời gian tải và tăng lưu lượng truy cập giới thiệu từ Facebook.
Để tạo một tập tin channel.html, thêm dòng sau vào tập tin (đặt tại http://www.yourdomain.com/channel.html):
<script src="//connect.facebook.net/en_US/all.js"></script>
Nếu bạn có khả năng chạy PHP, chúng tôi khuyên thiết lập một bộ nhớ cache dài cho tệp channelUrl để đảm bảo hiệu suất tối ưu. Đây là một mẫu PHP kịch bản hoàn thành điều này:
<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: maxage=".$cache_expire);
header('Expires: '.gmdate('D, d M Y H:i:s', time()+$cache_expire).' GMT');
?>
<script src="//connect.facebook.net/en_US/all.js"></script>
Trong trường hợp này, bạn cũng nên thiết lập các tập tin channelUrl đến URL đầy đủ như http://www.yourdomain.com/channel.php.
Trong thử nghiệm của chúng tôi, việc thêm kênh tùy chỉnhUrl cải thiện hiệu suất trong Internet Explorer và do đó sự bao gồm của nó được thông báo cho tất cả các nhà phát triển của chúng tôi. Internet Explorer mang lại lợi ích hiệu suất đáng kể về mặt thống kê khi bao gồm thông số, trong đó thời gian tải của trang web thử nghiệm với 5 plugin XFBML cải thiện từ 1,10 giây lên 0,43 giây.
Tải không đồng bộ là một chiến thuật đơn giản khác cho phép trang của bạn tải nhanh mà không chặn tải các phần tử khác trên trang của bạn. Khi tải thành công JS SDK, chúng ta gọi hàm window.fbAsyncInit. Tất cả các chức năng front-end phụ thuộc vào các cuộc gọi API Facebook nên được tách ra và được gọi thông qua window.fbAsyncInit. Điều này đảm bảo rằng các tính năng của Facebook được tải theo kiểu không bị chặn và sẽ tăng tốc độ hiển thị của nó, có lợi ích SEO tích cực. Khi thiết kế các tính năng xã hội của bạn, bạn nên tiếp cận nó với tâm lý này để bắt đầu.
Ví dụ:
<html xmlns:fb="https://www.facebook.com/2008/fbml">
<body>
<div id="fb-root"></div>
<script>
/* All Facebook functions should be included
in this function, or at least initiated from here */
window.fbAsyncInit = function() {
FB.init({appId: 'your app id',
status: true,
cookie: true,
xfbml: true});
FB.api('/me', function(response) {
console.log(response.name);
});
};
(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>
</body>
<html>
Chúng tôi đã cập nhật tài liệu hướng dẫn của chúng tôi để phản ánh tầm quan trọng của các tùy chọn này và thay đổi mẫu mã mặc định để bao gồm một channelUrl. Chúng tôi đang tiếp tục cập nhật tài liệu của mình như một phần của Chiến dịch phát triển tình yêu cũng như chia sẻ các phương pháp hay nhất khác thông qua bài đăng trên blog “Cách thực hiện”.
cảm ơn liên kết của bạn. nó đã giải quyết được vấn đề :) –
Nó sẽ là tốt nhất để cung cấp một chút nền hơn ở đây là các liên kết có thể chết theo thời gian. –
À ... Tôi hơi lười một chút! :) .... cảm ơn đề xuất của bạn. lần tới tôi sẽ nhớ vấn đề này. –
- 1. Khi nào gói savedInstanceState thực sự được sử dụng?
- 2. Khi nào ContentProvider thực sự được tạo?
- 3. Khi sử dụng kiểm soát nguồn, những tệp nào thực sự nên được cam kết?
- 4. Có lợi ích thực sự khi sử dụng J # không?
- 5. Khi nào được thực hiệnĐánh giáMemoryCảnh báo thực sự được gọi là
- 6. MarkupExtension.ProvideValue - IserviceProvider có thực sự được sử dụng không?
- 7. Bắt sự kiện khi video flash được thực hiện bằng cách sử dụng javascript
- 8. Là QLocalSocket thực sự được sử dụng cho namedpipes
- 9. Cách liên kết với sự kiện gửi khi xác thực HTML5 được sử dụng?
- 10. Ví dụ thế giới thực khi nào Danh sách được liên kết nên được sử dụng?
- 11. Khi nào một initform được sử dụng?
- 12. PHPStorm không sử dụng được sau khi gặp sự cố
- 13. Có lợi ích thực sự nào khi sử dụng phương thức javascript Array reduce() không?
- 14. Khi nào sử dụng AtomicReference (Java)? Có thực sự cần thiết không?
- 15. Khi nào sử dụng Quản lý thực thể trong Symfony2
- 16. Giải pháp OpenID nào thực sự được sử dụng bởi Stack Overflow?
- 17. Khi nào cần sử dụng Xe buýt sự kiện?
- 18. Quyền khi sử dụng "Thực thi sp_Executesql"
- 19. Sự cố khi sử dụng ImageIO.read
- 20. Google API không xác thực được khi ID ứng dụng khách iOS được sử dụng
- 21. Sự cố khi sử dụng GWT ScrollPanel
- 22. Sự cố khi sử dụng EnterCriticalSection
- 23. Sự khác nhau giữa .build, .create và .create! và khi nào chúng nên được sử dụng?
- 24. sử dụng subversion với một trang web thực sự thực sự lớn
- 25. Khi nào nên khẳng định() được sử dụng?
- 26. Sự cố khi sử dụng VBO
- 27. Sự sụp đổ khi sử dụng phao
- 28. Có thể nào để xác thực người dùng khi kết nối websocket được sử dụng?
- 29. Khi nào các cài đặt từ app.config thực sự đọc?
- 30. Preferred Python (hoặc bất kỳ ngôn ngữ nào, thực sự) style: Nên sử dụng khác khi nào nếu trả về?
Tôi thấy nó cũng được tải bởi FF và Chrome, khi tôi kiểm tra lưu lượng truy cập mạng trong khi tải trang của mình. Tính đến ** khi ** nó được tải, tôi không biết. – DMCS