埋め込みFlickr動画を反応性の高いテーマに対応させようとしています。私はTumblrで取り組んでいます。私は他の埋め込みビデオやオーディオプレーヤー(Youtube、Vimeo、Soundcloud、Spotifyなど)とうまくやっていますが、Flickrのビデオは重なり合っており、親コンテナにそれらを入れることができません。埋め込みFlickr動画iframeをjQueryでターゲティングできません
Flickrの動画iframeとその子要素の中には、コンテンツのオーバーフローを引き起こしているインラインCSS宣言があります。 Here's a screenshot with the iframe structure
まず、CSSでこれらのスタイルを上書きしようとしましたが効果がありません。 次にjQueryを試しましたが、iframe
をターゲティングすることはできません。 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>
はCSSクラス.flickr-embed-frame
を持っている私はできませんどちらもターゲットも、またその子要素。私は$(document).ready()
と$(window).load()
の中で私の機能を試してみました。
$('.flickr-embed-frame').contents().find('.child-class');
のようなセレクタはどちらも機能しませんでした。
<video src="https://www.flickr.com/photos/[email protected]/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"]')
のようなセレクタでそれをターゲットにしようとした:
iframe
内部video
要素があります。
質問が見つかりませんでしたので、誰かが解決策をとることを願っています。ありがとう。
編集 = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - -
、私は手作業でFlickr VideoをTumblrの代わりにJSFiddleに埋め込もうとしました(ビデオへのURLリンクを貼り付けるだけです)。
<a data-flickr-embed="true" href="https://www.flickr.com/photos/[email protected]/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に注入されていることをしているように見える:これは、Flickrのは、映像を表示するために、あなたのコードに追加するように求められたコードです。これは、私がiframe
を、CSSまたはjQueryのどちらも対象にすることができない理由です。なぜなら、最初は存在しないからです。
私の質問はです。このiframe
がDOMに注入された時期はどうすれば確認できますか?この方法で、私はそれをターゲットにして、jQueryを介して必要な変更を加えることができます。
SOLVED = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
I最終的にこの問題の解決策が見つかったので、私のコメントを確認してください。
非常に巧妙な解決策!あなたはそれを整理してうれしい! 私は仕事にリンクしたソリューションについてのコメントの後、DOMの変更の検出を遅延させたjsfiddleに関する2つのアイデアを試してみましたが、理論的にはうまくいきませんでした。 Web標準の進化する性質は時には巧妙な概念を意味し、直感的ではない解決策があると思います。このような場合には、ソリューションにはもっと複雑になりますが、問題にうまく対処したことに対する報酬は素晴らしいものです。乾杯。 –