【发布时间】:2016-05-24 13:22:20
【问题描述】:
我正在尝试使嵌入的 Flickr 视频在我正在为 Tumblr 开发的响应式主题上流畅。我对任何其他嵌入式视频或音频播放器(Youtube、Vimeo、Soundcloud、Spotify 等)都做得很好,但 Flickr 视频重叠,无法将它们包含在其父容器中。
Flickr 视频 iframe 及其一些子元素具有内联 css 声明,这会导致内容溢出。 Here's a screenshot with the iframe structure
首先,我尝试用 CSS 简单地覆盖这些样式,但没有任何效果。
然后我尝试使用 jQuery,但无法定位 iframe。
<iframe frameborder="0" allowfullscreen="" class="flickr-embed-frame" webkitallowfullscreen="" mozallowfullscreen="" oallowfullscreen="" msallowfullscreen="" width="700" height="393" data-natural-width="1024" data-natural-height="576" style="overflow: hidden; padding: 0px; margin: 0px; width: 700px; height: 393px; max-width: none;" data-loaded="true"></iframe>
尽管 iframe 有一个 css 类 .flickr-embed-frame 我既不能定位它,也不能定位它的子元素。我已经在$(document).ready() 和$(window).load() 中尝试了我的函数,结果不一样。
$('.flickr-embed-frame').contents().find('.child-class'); 之类的选择器也没有用。
在iframe 内部有一个video 元素:
<video src="https://www.flickr.com/photos/138041208@N02/27214754585/play/hd/9ecf29781c/" width="699" height="393" poster="https://farm8.staticflickr.com/7776/27214754585_9ecf29781c_c.jpg" controls=""></video>
还尝试使用 $('video[src^="https://www.flickr.com"]') 之类的选择器来定位它,但没有结果。
找不到任何相关的问题,所以希望有人能提供解决方案。谢谢。
编辑 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
好的,我尝试在 JSFiddle 而不是 Tumblr 上手动嵌入 Flickr 视频(您只需将 URL 链接粘贴到视频)。这是 Flickr 要求您添加代码以显示视频的代码:
<a data-flickr-embed="true" href="https://www.flickr.com/photos/138041208@N02/27214754585/in/dateposted-public/" title="Test video"><img src="https://c2.staticflickr.com/8/7776/27214754585_9ecf29781c_b.jpg" width="1024" height="576" alt="Test video"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>
似乎是iframe是后来添加的,通过javascript注入到DOM中。这一定是我不能通过 CSS 和 jQuery 定位 iframe 的原因,因为最初它不存在。
现在我的问题是:我如何检查这个iframe 何时被注入到 DOM 中?这样我可以定位它并通过 jQuery 进行我需要的更改。
已解决 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
我终于找到了解决这个问题的方法,请查看下面的评论。
【问题讨论】:
标签: javascript jquery html css iframe