これが私の状況です。クリックすると、それをホストするサードパーティのサイトでポップアップを起動する Javascript プラグインがあります。その popop は、ログイン方法として Facebook を使用している IFRAME を表示します。
ポップアップが起動されると、最近エラーが発生し始めました:
安全でない JavaScript が、URL https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=18のフレームから URL http://{THIRD-PARTY-SITE-GOES-HERE} のフレームにアクセスしようとしています。 #channel= …%3Dtabmodule%26utm_term%3D200000%26fb_xd_fragment%23xd_sig%3Df2ade8e518%26.
アクセスを要求するフレームには「https」のプロトコルがあり、アクセスされるフレームには「http」のプロトコルがあります。プロトコルが一致する必要があります。
IFRAME 自体は https 上にあり、正常に動作していました。Chrome が親ページにアクセスしようとしている理由がわかりません。親ページを制御できないため、https にすることはできません。
IFRAME 内からの私の FB 初期化コードは次のとおりです。
window.fbAsyncInit = function()
{
FB.init({
appId: '{myappid}',
status: true,
cookie: true,
xfbml: true,
oauth: true,
channelURL : 'https://degree3.com/channel.php'
});
FB.getLoginStatus( function(response)
{
if (resp = response.authResponse)
{
$( '#fb_button' ).attr( "onclick", "signinViaFacebook( response.authResponse.userID, response.authResponse.accessToken );" ).show();
}
});
};
(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);
}());
エラーを修正する方法はありますか?