2011-02-22 11 views
2

私はこのコード(標準FBなど)を使用しています:iframeをFBで非表示にするにはどうすればいいですか?

<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の内部では機能しませんでした。

どうすればいいですか?

答えて

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を:私はまだそれを行ってhaventは

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"); 
} 
+0

私は疑う私はそれに同意する必要があると思いますブラウザ – mplungjan

+0

によって許可されます。 –

0

。もしかしたらそれは、メインウィンドウのJS機能にアクセス

document.getElementById('facebookFrame').style.display = "none"; 
0

現実的に私はあなたの最善の策であることが考えて、その後、再ロードすることが文句を言わないこと

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

のような優れたリソースhttp://softwareas.com/cross-domain-communication-with-iframes

を見つけましたもう1つ、今回は透明diviframeです。その上にクリックハンドラを設定します。

0

また、このソリューションを試すことができます。

FB.Event.subscribe('edge.create', function(href, widget) { 
     your call back function to hide the iframe 
}); 
関連する問題