私は現在、「超軽量」のYouTubeプレーヤーを構築しており、高速なページの読み込みと必要最小限のリソースに焦点を当てています。超軽量YouTubeプレーヤー
アイデアは、空のiframeを持っているだけではiframeをターゲットにリンクしてユーチューブ埋め込みURLをロードすることです。
この方法では、ユーチューブのコンテンツおよび/またはスクリプトは、ページのロード時にロードされていないが、ユーザーはそのコンテンツを見ることを決定した後にのみ。
低解像度のYouTube動画ポスターを背景画像として使用し、再生ボタンのようなルック&フィールのリンクをカスタマイズしました。
私の主な障害は、クリックした後に再生ボタンを非表示にする方法です。
CSSで「:focus」セレクタを使用して非表示エフェクトをエミュレートすることはできましたが、別の場所や隠しボタンをクリックしてもボタンが表示されるか、iframeが再読み込みされるため好ましい方法ではありません。
は、私はこのjQueryのまたはJavaScriptの道をやっている可能性が知っているが、私は本当に
誰でも助けることができる純粋なHTML + CSS上のすべての私のアプリを実行しようとしていますか?事前に 敬具と感謝
codepen:
の例のようにデータのURIとそれを作ったhttp://codepen.io/s3m3nT3s/pen/NdwEMx
* {
margin: 0;
padding: 0;
}
#video {
width: 100%;
max-width: 700px;
position: relative;
background: url(http://img.youtube.com/vi/dQw4w9WgXcQ/mqdefault.jpg) no-repeat;
background-size: cover;
overflow: hidden;
}
#video::before {
content: "";
display: block;
padding-top: 56.25%;
}
#video a {
position: absolute;
top: 50%;
left: 50%;
transform: translate3d(-50%, -50%, 0);
width: 68px;
height: 48px;
background-color: #1f1f1f;
opacity: 0.8;
text-align: center;
color: #fff;
text-decoration: none;
line-height: 48px;
border-radius: 17px/13px;
}
#video a:hover {
background-color: #cd201f;
opacity: 1;
}
#video a:focus {
opacity: 0;
}
iframe {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
border: none;
}
<div id="video">
<iframe name="youtube-video"></iframe>
<a href="https://www.youtube.com/embed/dQw4w9WgXcQ?rel=0&showinfo=0&autoplay=1" target="youtube-video" rel="nofollow">▶</a>
</div>
+1賢い:-)。 iOSの迷惑な「自動再生」を解決する必要がある場合は、コメントを残してください。 –
@Jacob今のところ、私はちょうどクライアントのユーザーエージェント上でphpルーチンを実行し、このコードを提供する代わりにモバイルを検出した場合、自動再生機能を持たない「通常の」YouTube Iframeを注入します。それは私の目的を "超軽量"プレーヤーには提供しませんが、確かにユーザーインタラクションの考え方が増えています。 –