【问题标题】:JavaScript: onclick remove div with iframeJavaScript:onclick 使用 iframe 删除 div
【发布时间】:2013-01-12 01:47:06
【问题描述】:

您好,我尝试在单击其中的 facebook like 按钮后删除 div,但不能这样做 这是我的代码

<div onclick="this.parentNode.parentNode.removeChild(this.parentNode);">
<iframe id='theiframe' scrolling='no' frameBorder='0' allowTransparency='true'            src='http://www.facebook.com/widgets/like.php?href="www.facebook.com/makestream"&amp;layout=standard&amp;show_faces=true&amp;width=53&amp;action=like&amp;colorscheme=light&amp;height=80' style='width:53px;height:23px;overflow:hidden;border:0;opacity:"0.8";filter:alpha(opacity="0.8");'></iframe>
</div>

有没有办法在点击 facebook like 按钮后删除 div 或 ifreme?

【问题讨论】:

    标签: javascript facebook html iframe facebook-like


    【解决方案1】:

    您无法在 iframe 区域中捕获点击事件,因为它是由 iframe 自己处理的,不会冒泡到 DIV 父级。这个关于 SO 的问题可能对你有帮助:capture click on div surrounding an iframe

    我可以想象一种解决方法:使用 Facebook 的 SDK 并在“赞”按钮上注册一个侦听器(参见 facebook doc)。这篇文章"How to execute JavaScript when the Facebook Like button is clicked"给出了一些例子。

    【讨论】:

    • 这真的很有帮助,非常感谢你救了我的命...啊哈哈
    • 我刚刚通过添加链接更新了我的答案,这可能对您有所帮助。
    【解决方案2】:

    我不确定你的 JavaScript。

    试试这个:

    <div onclick="this.parentNode.removeChild(this);">
    <!-- iframe -->
    </div>
    

    更新:

    我认为这是不可能的。

    FB Like 按钮上的点击事件不会传播到 iframe 之外。

    这是一个例子:http://jsfiddle.net/kboucher/pdvdH/

    【讨论】:

    • 我的猜测是点击不会传播到 iframe 之外。
    • 我想是这样,但是有没有办法用任何事件监听器或我不擅长的东西来跟踪它,但我需要这样做
    • @user1898399 要使用事件监听器,您必须有一个事件。在这种情况下,点击事件发生在 iframe 内。如果没有 iframe 中的代码,我看不到任何方法来提醒父窗口发生了事件。
    【解决方案3】:

    当有人点击赞按钮时,Facebook 提供回调函数: https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

    FB.Event.subscribe('edge.create',
        function(response) {
            alert('You liked the URL: ' + response);
        }
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 2016-01-14
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多