Tôi đã thêm các nút "Thích/Chia sẻ" trên Facebook cơ bản vào một trang web, sử dụng mã được sao chép trực tiếp từ trang Facebook Developers. Có 2 phần vào mã: một khối javascript và một thẻ div với một lớp học của "fb-like" Heres javascript:Nút Thích và Chia sẻ trong trang web gây ra cảnh báo javascript và lỗi php
<div id="fb-root"></div><script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
Và đây là thẻ div cho nơi tôi muốn các nút xuất hiện:
<div class="fb-like" data-href="http://www.bethcake.com" data-width="90" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"></div>
Dưới đây là những vấn đề tôi đang gặp phải:
Khi tải trang web, tôi nhận được 2 lời cảnh báo javascript. Các cảnh báo đề cập đến mã nguồn connect.facebook.net, dòng 233, không phải bất kỳ mã nào tôi đã viết. Chúng là:
- Id ứng dụng không hợp lệ: Phải là số hoặc chuỗi số đại diện cho id ứng dụng.
- FB.getLoginStatus() được gọi trước khi gọi FB.init().
Cũng trong ngày tải trang, tôi nhận được một lỗi php (like.php.1: 948):
- bị chặn một khung với nguồn gốc "http://www.facebook.com" truy cập vào một khung với nguồn gốc "http://www.bethcake.com" . Giao thức, tên miền và cổng phải khớp.
Lỗi này khó hiểu. Trước hết, tôi không sử dụng khung. Thứ hai, các giao thức phù hợp và không có gì ở đây về các cổng. Tất nhiên các lĩnh vực không phù hợp: Tôi không cố gắng thu thập "Thích" cho một trang Facebook; Tôi muốn nhận được "Thích" cho một trang web bên ngoài. Tui bỏ lỡ điều gì vậy?
Tôi đã chạy URL thông qua Trình gỡ lỗi đối tượng mở biểu đồ mở của Facebook. Nó đưa ra một số cảnh báo tôi không hiểu. Chúng là:
- fb: quản trị viên và fb: thẻ app_id bị thiếu.
- og: tiêu đề, og: loại và og: hình ảnh bị thiếu.
- og: url, hãy: tiêu đề, đi: mô tả, và đi: thuộc tính hình ảnh cần được cung cấp một cách rõ ràng
Được rồi, được rồi. Nhưng ở đâu và làm thế nào tôi phải thêm những? Tôi đã xem qua tài liệu Facebook và tìm kiếm stackoverflow, mà không thành công. Nếu đây là những nghĩa vụ phải được thêm vào chuỗi dữ liệu-href trong thẻ div, xin vui lòng cho tôi một ví dụ.
Vâng, tôi đã tìm thấy câu trả lời một phần. Đối với (3), các thẻ được đề cập là các thẻ meta có định dạng này: '' Điều này gợi ý rằng nếu tôi bao gồm thẻ meta fb: app_id, tôi sẽ mất cảnh báo javascript đầu tiên. Theo như tôi có thể nói, tôi vẫn nhận được cảnh báo thứ hai. Ngoài ra, bây giờ tôi nghĩ rằng những gì tôi mô tả như là một lỗi php là trong thực tế, một lỗi javascript. Điều kỳ lạ là nó xuất hiện trong Trình kiểm tra web Safari nhưng không xuất hiện trong Công cụ dành cho nhà phát triển của Google, Opera Dragonfly hoặc Firebug. –