0

Facebookのおすすめボタン、特にホストページに表示されるツールチップを再現しようとしています。

それは私の能力の範囲外かもしれませんが、FBがそれをどのように行うかを理解したいと思います。

推奨ボタンを使用してiframeを実装します。クリックすると、ホストページに表示される一種のツールチップ(単純なdiv)が表示されます。

同じことをしようとしていますが、もちろん、iframeからコンテンツを表示することはできません。

これが私のコードのサンプルです(hostingdomain.org):

<script type="text/javascript">
(function() { 
            id_marchand = 'daL/RqzZcfqc.'; 
            var tyd = document.createElement('script');
            tyd.type = 'text/javascript';
            tyd.async = true; 
            tyd.src = 'http://mydomain.fr/tyd//module/pro_mod.js'; 
            var s = document.getElementsByTagName('script')[0]; 
            s.parentNode.insertBefore(tyd, s);})
();</script>

このスクリプトの目的は、ホストページのコンテンツを読み取り、postMessageを介してそのiframeに送信することです。

<iframe src="http://multipress.fr/tyd//module/pro_mod.php"
height="50px" width="150px" 
name="tyd_frame" id="tyd_frame" style="border:1px solid black;" 
onload="start_tyd();"></iframe>

iframeがメッセージコンテンツを受信し、それに関数を適用すること。自分のものを実行するためにmydomain.frからCookieを読み取る必要があるため、iframeを使用しました。

ここで、ツールチップ(またはextradiv)を表示して、それが完了したことをユーザーに確認したいと思います。しかし、iframeに何も表示させることはできません...セキュリティ上の理由から、私は確信していますが、Facebookはそれを行います!

したがって、私が取り組んでいる解決策は、iframeでpostMessageを再度使用して、ホストページで機能するコンテンツをpro_mod.jsに送り返すことですが、その方法がわかりません。

ご協力いただきありがとうございます !

4

1 に答える 1

0

私はそこに解決策を見つけました:

http://benalman.com/projects/jquery-postmessage-plugin/

これは、myiframeで呼び出して、親ホストにメッセージを送信することを許可できるjqueryプラグインです。

ホストにjqueryを実装できないので、単純なaddeventlistenerを配置して、それを取得します。これで、親に「ツールチップ」divを作成できます。

すべてが素晴らしいです!

于 2012-11-22T20:25:02.090 に答える