YouTubeの縦横比がスマートフォンにすると崩れる件の対応
2017-01-12
YouTubeをスマートフォンで見るとき、縦横の比率が変なときはありませんか?
原因は?
わかりません。パソコンで見ると問題ありませんが、スマートフォンなど小さい画面にすると高さが短くなります。埋め込みだとCSS設定が効かないのでしょうか?根本的な原因はわかりませんでした。
対応してみた
YouTubeの縦横の比率は16対9になるらしいです。なので、JavaScriptで縦横比16:9になるように対応しました。コードは下記に載せておきます。責任は持ちませんが、コピペOKです。
<script> var youtube = document.getElementsByTagName('iframe'); //すべてのiframe要素を取得する for(var i=0,l=youtube.length;i<l;i++){ //iframeの幅を取得 var widths = youtube[i].offsetWidth //iframeの高さを算出 //幅16:高さ9 16:9=widths:x x=(9*widths)/16 var heights = (9*widths)/16; //iframeの高さを指定 youtube[i].style.height = heights+"px"; //親要素の高さを指定 youtube[i].parentElement.style.height = heights+"px"; } </script>
これでYouTubeの見た目が良くなりました。対応完了です。
ただし・・・YouTubeだけに適用した訳ではありません。埋め込みのものが、全て縦横比16:9になってしましました。その点は今後の課題です。