私は1つの親ページからなるウェブサイトを持っています。ライトボックススタイルのjQueryプラグインカラーボックスを使用して、親ページの上にオーバーレイスタイルで浮かぶiFrameの他のページを開きます。jQueryを使用してiFrameの親に値を保存してアクセスするにはどうすればよいですか?
iFrameページのJavaScriptコードでは、FacebookからJSONデータを読み込みます。 Facebookからのデータ読み込みには時間がかかるので、読み込んだデータを親ページにある変数に保存したいと思っています。
次に、オーバーレイで新しいiFrameを開くたびに、親ページの変数が空であるかどうかを確認できます。空の場合は、Facebookからデータを読み込みます。それが空でない場合は、親ページの変数からデータを取得します。
私がこれをやりたいのは、パフォーマンスを向上させ、Facebook APIへの不要な呼び出しを避けることだけです。
iFrameのjavascriptが親ページにある変数のデータを保存してアクセスできるソリューションを作成するにはどうすればよいですか?
私は実際のコードを持っていないが、擬似コードで、私はこのような何か希望:オン
FB.api("/me/friends?fields=name,first_name,picture", function(friendsData) {
// When this callback is executed, the data I want is
// now in the object:
friendsData.data
});
:FacebookのAPIへの呼び出しは次のようになります
function loadFacebookFriends() {
if(parentFriendsVariable is empty) {
Load friends from Facebook
}
else {
localFriendsVariable = parentFriendsVariable
}
}
を親ページのjavascriptコードはjQueryドキュメントのreadyタグにあります。
ありがとうございます!
/トーマス・カーン
親と子の「IFrame」は同じドメインにありますか? – msuhash
あなたはwondow.parentを使用できません。? –
msuhash
はい、親とIframesは同じドメインの同じWebサーバーから読み込まれます。私はwindow.parent.variableを使って実験をしましたが、期待どおりに動作しません。私のコードがjQueryでラップされているという事実が原因でしょうか? – tkahn