11

jQuery を使用して動的な Facebook の「いいね」ボタンを作成しています。ただし、何度も何度も繰り返されるエラーが発生します。

ボタンを作成するための私のjQueryは次のとおりです。

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

ただし、次のエラーが発生します。

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.

何か案は?

  • 編集

    (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') );
4

2 に答える 2

3

これは、プロトコルが一致しないために発生します。

http ページで https フレームを作成しようとしています。

ブラウザで混合コンテンツが無効になっているため、そのエラーが表示されます。

コマンドライン引数を使用して、Google Chrome で混合コンテンツを有効にすることができます。

chrome.exe --allow-running-insecure-content
于 2013-08-08T10:15:57.913 に答える
0

やあ、イアンhttps://localhost/appname、電話をかけ直してみた?XAMPP、LAMP、MAMP などを実行している場合、デフォルト サイトはポート 443 (https) にバインドされている必要があり、リクエスト プロトコルが一致することを願っています。それでも同じ問題が発生する場合は、実際の Web サーバー (WWW に面している) からこれを試して、問題が解決しないかどうかを調べることをお勧めします。また、API で localhost を使用できるようにするために有効にする必要がある Facebook 側の設定はありませんか (ここでは暗闇でスイングします)。

于 2013-07-02T06:03:30.550 に答える