2

私はこのコードを使用しています(標準のFB Like):

<div id="like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fexample.com%2Fpage%2Fto%2Flike&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe></div>

ユーザーがクリックしたときに完全なdiv(または)を非表示にする必要があります。iframe

イベントを試しましたonclickが、内部では機能しませんでしたiframe

これどうやってするの?

4

4 に答える 4

0

私はまだそれをしていません。良いリソースを見つけましたhttp://softwareas.com/cross-domain-communication-with-iframes

多分そのように

parent.frames[1].location.href -> set to own url plus #anyanchor

リロードされないので、メインウィンドウのjs関数にアクセスします

document.getElementById('facebookFrame').style.display = "none";
于 2011-02-22T13:46:58.513 に答える
0

次のようなことができます。

HTML:

<div id="like"><iframe id="facebookFrame" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fexample.com%2Fpage%2Fto%2Flike&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe></div>

Javascript:

document.getElementById('facebookFrame').contentWindow.document.body.onclick = 
function() {
  // hide your iframe here or do whatever
  document.getElementById('facebookFrame').style.display = "none";
  alert("iframe was clicked");
}
于 2011-02-22T13:20:30.260 に答える
0

現実的には、あなたの最善の策は、今度は透明な別のdivを の上に配置することだと思いますiframe。その上でクリックハンドラーを設定します。

于 2011-08-25T11:01:52.550 に答える
0

この解決策を試すこともできます:

FB.Event.subscribe('edge.create', function(href, widget) {
        your call back function to hide the iframe
});
于 2011-08-25T11:08:02.567 に答える