2013-05-26 23 views
11

Tôi đang sử dụng jQuery để tạo các nút "Thích" trên Facebook động. Tuy nhiên tôi nhận được một lỗi đó chỉ là lặp đi lặp lại chính nó hơn và hơn nữa.Lỗi nút như Facebook - khung bị chặn

jQuery của tôi để tạo ra các nút là:

$('#fbLike').html('<fb:like href="'+url+'" send="false" layout="button_count" width="80" show_faces="true" />'); 
FB.XFBML.parse(document.getElementById('fbLike')); 

Tuy nhiên, tôi nhận được lỗi sau:

Blocked a frame with origin "https://www.facebook.com" from accessing 
a frame with origin "http://localhost:8888". The frame requesting 
access has a protocol of "https", the frame being accessed has a 
protocol of "http". Protocols must match. 

Bất kỳ ý tưởng?

  • Sửa

    (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); } (tài liệu, 'script', 'facebook-jssdk'));
+0

không sử dụng https nếu bạn sử dụng http – happy

+2

Làm cách nào để không sử dụng https khi kết nối với Facebook? Tôi sẽ chỉnh sửa ở trên để hiển thị tất cả các mã liên quan đến Facebook của tôi. – Ian

+0

Cấu hình máy chủ cục bộ của bạn để chạy như https: // localhost ... v.v. – ronnyfm

Trả lời

0

Xin chào Ian, bạn đã thử nhấn https://localhost/appname và chạy lại cuộc gọi chưa? Nếu bạn đang chạy một cái gì đó như XAMPP, LAMP, MAMP trang web mặc định của bạn nên được ràng buộc để cổng 443 (https) hy vọng cho phép các giao thức yêu cầu của bạn để phù hợp. Nếu bạn vẫn gặp vấn đề tương tự, bạn có thể muốn xem xét việc thử điều này từ một máy chủ web thực tế (đối mặt với WWW) và xem liệu vấn đề có tồn tại hay không. Ngoài ra, không có cài đặt nào trên Facebook mà bạn cần cho phép sử dụng localhost cho API của họ (xoay trong bóng tối ở đây)?

3

Điều này xảy ra do các giao thức không khớp.

Bạn đang cố gắng tạo một khung https trong trang http.

Do nội dung hỗn hợp bị tắt trên trình duyệt của bạn, bạn thấy lỗi đó.

Bạn có thể bật nội dung hỗn hợp trên google chrome qua dòng lệnh arg.

chrome.exe --allow-running-insecure-content 
+0

Vô hiệu hóa tính năng này trong chrome sẽ không khắc phục được sự cố mặc dù nó chỉ bao gồm nó cho nhà phát triển. Nó có thể là một ý tưởng tốt hơn để thực sự khắc phục vấn đề bằng cách sử dụng một cuộc gọi an toàn trên các trang bảo mật. – TheChristopher

Các vấn đề liên quan