サイトの動画の縦横比を切り替えるスイッチのJavaScriptプログラム 結城永人 - 2023年10月15日 (日) ブログにYouTube動画を載せることがある。通常動画は横長の16:9の縦横比で表示するけれども数年前からショート動画が出て来て、丁度、反対の縦長の9:16で作られているからどうするかを考える。動画のサイトへの埋め込みの縦横比は何でも構わないから通常動画と同じように横長で表示することはできる。しかしながら魅力が半減してしまうことが危惧される。縦長に表示すると問題ないけれども画面全体に大きく広がるので、特にスマホだと他に何もなくなって操作性に難点があるかも知れない。 なので縦長で表示したところに横長に切り替えるスイッチを浮かべておいて横長でも表示できるようにした。JavaScriptのプログラムで作成したので、使う人がいれば著作権付きで無料で提供したいと思う。 注意:動画を縦長で表示するとGoogleのSearch Consoleの動画ページのインデックス登録に「動画の高さが高すぎます」と警告が出てGoogleの動画検索からアクセスが得られなくなることがある。 目次サイトの動画の縦横比の切り替えスイッチ動画の縦横比の切り替えスイッチのソースコード動画の縦横比の切り替えスイッチのカスタマイズ サイトの動画の縦横比の切り替えスイッチ 横長で観る既存の動画からショート動画を作成💫|YouTube クリエイター 動画に重なっている「横長で観る」、または「縦長で観る」のスイッチを押すと動画の縦横比を切り替えて表示することができる。 動画の縦横比の切り替えスイッチのソースコード サイトの動画のHTMLとスイッチのJavaScriptの二つのソースコードで動作する。 HTML <figure> <iframe class="cari" style="width:100%;height:auto;aspect-ratio:9/16;transition:all .3s" width="266" height="320" src="https://www.youtube.com/embed/E7Fp4L-KbMw"></iframe> <div class="sari" style="display:flex;justify-content:center;align-items:center;height:42px;position:sticky;bottom:0;background-color:#c0c0c0;color:#000000;cursor:pointer;">横長で観る</div> </figure> 動画のiframeタグとスイッチのdivタグを一つのfigureに入れて共通の親にする。figureタグは親ボックスとして必要なだけなので、その他のdivタグなどで置き換えても表示に支障はない。 JavaScriptとの関連付けのために動画とスイッチのタグのそれぞれにcariとsariのclassを付けている。もう一つのプログラムのソースコードと合わないと動作しない。変えたい場合はHTMLとJavaScriptで一緒に行って揃える必要がある。 デザインは動画とスイッチのstyle属性で、付けている。これはstyleタグで他のところに記載しても構わない。良く使うならばstyle属性で個々に追加するよりも一つのstyleタグに纏めた方が便利だ。 関連ページCSSはどう使えば良いのか|タグ自体とidとclassの指定先とstyleタグとインラインの記述法 デザインとしてスイッチが動画に重なって縦幅の範囲内に浮かぶようにしている。 CSSのposition:stickyをスイッチのstyle属性に記載している。 関連ページCSSのpositionのstickyでコンテンツをサイトの一定の範囲内にフローティングする 動画の縦横比は動画のwidth属性とheight属性で決められるけれどもレスポンシブ対応を行ってパソコンからスマホまで画面幅に一定に保つようにしている。 CSSのaspect-ratio:9/16を動画のstyle属性に記載している。 関連ページiframeの縦横比を一発でレスポンシブに指定できるaspect-ratio JavaScript:一つの動画用 /* Copyright: Nagahito Yuki 2023 | https://www.nagahitoyuki.com/2023/10/javascript-program-to-switch-the-aspect-ratio-of-videos-on-the-website.html | License: The MIT License */ const nif = document.querySelector("iframe.cari"), nsw = document.querySelector("div.sari"), dar = getComputedStyle(nif).aspectRatio, dtx = nsw.textContent; nsw.addEventListener("click", () => { nif.classList.toggle("chia"); if (nif.classList.contains("chia")) { nif.style.aspectRatio = "16/9"; nsw.textContent = "縦長で観る"; } else { nif.style.aspectRatio = dar; nsw.textContent = dtx; } nif.scrollIntoView(); }); 先頭のコメント(/*〜*/)が著作権を示しているので、無料で使用するかぎり、必ず残して置かなくてはならないし、ソースコードを編集するときなども誤って消さないようにして欲しい。 僕がBloggerで出しているテンプレートのImaginaryを使っている人はテンプレートに著作権が付いているから個別のプログラムに付けなくても構わない。 動画の下か重なって表示されるスイッチを押すと動画の縦横比を切り替えて表示する。 JavaScriptプログラムの記載法 動画の縦横比の切り替えのソースコードはサイトのHTML編集にscriptタグで囲って動画とスイッチのソースコードの後に記載すれば動作する。 <script> JavaScriptプログラムのソースコード </script> スイッチを付けたい動画がページ内に。二つ以上、ある場合は次のプログラムを使う。 JavaScript:二つ以上の動画用 /* Copyright: Nagahito Yuki 2023 | https://www.nagahitoyuki.com/2023/10/javascript-program-to-switch-the-aspect-ratio-of-videos-on-the-website.html | License: The MIT License */ const nifs = document.querySelectorAll("iframe.cari"); nifs.forEach(nif => { const nsw = nif.parentElement.querySelector("div.sari"), dar = getComputedStyle(nif).aspectRatio, dtx = nsw.textContent; nsw.addEventListener("click", () => { nif.classList.toggle("chia"); if (nif.classList.contains("chia")) { nif.style.aspectRatio = "16/9"; nsw.textContent = "縦長で観る"; } else { nif.style.aspectRatio = dar; nsw.textContent = dtx; } nif.scrollIntoView(); }); }); 動画とスイッチのHTMLのそれぞれのclassのcariとsariがサイトの他のソースコードでも使われていたら干渉してしまうかも知れないので、変更した方が良い。その場合、HTMLとJavaScriptのソースコードで揃えなくては行けない。 JavaScriptではプログラムの最初の方のiframe.cariかdiv.sariが対象になる。それぞれ、前の部分がタグ名で、途中の半角ピリオド(.)がclassを意味して後の部分がクラス名になっている。 動画の縦横比の切り替えスイッチのカスタマイズ 初期値のデザインと機能は次のようになっている。 動画のデザイン/iframeタグのstyle属性 width(横幅)100%height(縦幅)autoaspect-ratio(縦横比)9/16transition(伸縮時の間隔)all .3s スイッチのデザイン/divタグのstyle属性 display(表示法)flexjustify-content(Flexboxの横合わせ)centeralign-items(Flexboxの縦合わせ)centerheight(高さ)42pxposition(位置取り)stickybottom(stickyの下の位置)0background-color(背景色)rgba(128, 128, 128, .4)color(文字色)#000000cursor(カーソル/タッチ)pointer 動画とスイッチのデザインはiframeタグとdivタグのそれぞれstyle属性の内容を書き換えるとカスタマイズできる。 動画の縦横比を変更する場合 初期値は動画のiframeタグのstyle属性のaspect-ratioの値を書き換えるだけでカスタマイズできる。 スイッチで切り替えた後の縦横比はJavaScriptのnif.style.aspectRatio = "16/9"の値の「16/9」を書き換える。 切り替えた後の縦横比のカスタマイズのnif.style.aspectRatioはプログラムに二つあるうちの一番目の方になる。 スイッチのメッセージを変更する場合 初期値はスイッチのdivタグの「横長で観る」の部分を書き換えるだけカスタマイズできる。 スイッチで切り替えた後のメッセージはJavaScriptのnsw.textContent = "横長で観る"の値の「横長で観る」を書き換える。 切り替えた後のメッセージのカスタマイズのnsw.textContentはプログラムに二つあるうちの一番目の方になる。 コメント 新しい投稿 前の投稿
平田監督の白井球審の誤審への抗議はパワハラへの強力な対処法に他ならない 日本プロ野球で 佐々木朗希が完全試合を実現して 次の試合も八回まで無安打と無失点の状況で、次の試合はどうかと注目した4月24日の対オリックスバファローズ戦は初回の先頭打者の初球にヒットを打たれて五回に二失点を喫して連続の無安打と無失点が両方とも途絶えてしまった。 しかし予想外...
宜保愛子は本物の霊能力者だと考えられる三つの真実 昭和から平成にかけてテレビや雑誌で何度も大きく取り上げられて物凄く活躍した霊能力者の 宜保愛子 がいた。何気なく昔のテレビ番組を観ていたら霊視は嘘だったと思えない内容で、本当にびっくりした。昔、そんなに引き付けられて観ていたわけではないし、改めて霊能力が本当かどうかを確かめようと...
伊良部秀輝が自殺した原因はミッドライフクライシスによる鬱と飲酒だと考える プロ野球選手の 伊良部秀輝 が自殺したと知ってショックを受けたことがあった。もう十年以上前になる。2011年の夏、享年四十二と早過ぎたのに加えて大好きな投手の一人だったので、とても残念に感じた。 目次 伊良部秀輝が大好きだった記憶 負けても自分のスタイルを貫き通した 野球への...
沖雅也の涅槃への自殺と双極性障害 かつて俳優の 沖雅也 の自殺が伝えられたとき、遺書の言葉とされた「おやじ、涅槃でまっている」と共に何なのかと疑問を感じたのを良く覚えている。聞き慣れない「涅槃」という言葉が入っても何十年も過ぎた今振り返っても自殺者の遺書として本当に珍しい表現だったと改めて驚く。 沖雅也が書い...
若者たちがFacebookよりもTwitterを多く始めるというソーシャルメディアの利用者数の変化について 僕は Twitter をやって Facebook をやらないので、近年の特に日本の若者たちが似通って来ているのが面白いと思った。 「現在利用しているSNSサービスや動画サイト」について質問したところ、「LINE」の利用率が98.2%、「Twitter」の利用率が81.5%と前...
細川慎二のどうにも泣けて来てしまうストリートライヴのアルトサックス サックス奏者の 細川慎二 のYouTubeチャンネルの Sax in the Night City で出ているサックスのストリートライヴの動画が美しい音色と相俟った街角の雰囲気の良さで心底と泣けて来るほどの感動を催させる。 細川慎二のアルトサックスの美しい音色が響き渡る街角の...
アドセンスの個人のアメリカの税務情報/W-8BEN納税フォームの書き方 アドセンスに利用者の税務情報が必要となり、2021年6月1日以降、YouTubeのサイト広告などで収益を得る場合には税務情報を提出しないとアドセンスの支払いからアメリカの源泉所得税が米国内国歳入法の第三章により、控除される。 Google は、YouTube パートナー プロ...
玉置浩二のメロディーは涙腺緩んで総毛立つ名曲中の名曲だ 玉置浩二 のYouTubeの公式チャンネルで、最も気に入りの メロディー のライブ版が追加されていた。曲自体をちゃんと聴いたのは約二十五年振りかも知れないけど、しかし初めての内容から以前にも況して大変な感動を覚えることになった。 玉置浩二 『メロディー』Live at Tok...
Imgurで画像URLと埋め込みコードを取得する方法 Imgur は自分でアップロードした画像については画像URL/直リンクを取得して他のサイトにHTMLのimgタグで表示させられる。 そして自分と他の人たちも含めて画像の埋め込みコードを取得して他のサイトのHTMLに、そのまま、記載して表示させられもする。 目次 Img...
後藤浩輝と抑鬱傾向による突発的な自殺 中央競馬でトップ騎手の一人だった 後藤浩輝 が亡くなっていると気付いた。二千十五年だからまだ二年前の死だった。競馬ファンならば誰でも知っているくらい有名なはずだけれどもテレビのバラエティー番組でも見かけていたと思う。個人的には ダービースタリオン (ゲーム)に熱中していて後藤浩輝...
コメント