1

简单的 Vimeo iframe 点击不起作用:

$('iframe').click(function(){
    alert('ok');
});

我也试过:

$('body').click(..
$(document).on('click','iframe',..

但是,当用户在悬停视频时单击视频时,没有任何效果,它只是播放视频。

4

5 回答 5

6

如果您api=1在嵌入代码中包含查询参数,则可以访问事件,包括当用户单击 iframe 中的视频(播放、暂停)时触发的那些事件。您可能还希望包含他们的froogaloop.js文件以更轻松地访问这些事件。

<iframe id="player1" src="http://player.vimeo.com/video/27855315?api=1&player_id=player1" width="400" height="225"></iframe>
于 2013-07-04T01:44:44.653 回答
1

它是 iframe 中的第三方域,由于同源策略,您不能这样做。

于 2012-11-28T14:35:15.907 回答
0

尝试这个:

$('iframe').contents()
           .find('[src*="vimeo.com"]')
           .click(
               function(){
                  alert('foo');
               }
            );
于 2012-11-28T14:53:23.673 回答
-1

我发现在找到 iframe 中的任何内容之前,我需要确定 iframe 是否已加载。然后,如果 iframe 在页面加载后加载或在此过程中稍后重新加载,您的点击功能将起作用。

jQuery('#iframe').load(function() {
   jQuery('#iframe').contents().find('#play-button').click(function () {
        // do your stuff
    });
}

** 这可能会或可能不会跨域工作,但确定加载的 iframe 是否可以用作确定 iframe 中是否发生某些事情的骇人听闻的方法。如果您在 iframe 顶部的域上创建了一个“播放”按钮,则它可用于在页面加载后通过单击功能加载 iframe,然后您的加载功能可以包含幻灯片暂停。

于 2012-11-28T19:58:22.033 回答
-1

不幸的是,正如 epascarello 之前所说,由于同源策略,您无法跟踪跨域 iframe 中的点击。

您可以设置用户单击的“缩略图”,这将拉出该弹出窗口,然后随后将缩略图替换为实际视频。只需嵌入您想要的视频,但将其保留为隐藏的 div,然后.show()在您希望它开始播放时使用。

资源

于 2013-07-03T23:00:57.003 回答