サイトの動画の縦横比を切り替えるスイッチの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はプログラムに二つあるうちの一番目の方になる。 コメント 新しい投稿 前の投稿
イヤーワームという頭の中で音楽が勝手に流れる現象を引き起こすストレスを反省 以前から頭の中で音楽が勝手に流れることが良くあって近頃でもブログで取り上げたばかりの モーツァルトの幻想曲K.397 や K.375 や ribbonの Virgin Snow などを体験していた。いつも好きな曲ばかりで鼻歌を伴って喜ばしい気持ちになるし、好調の証のように捉えてい...
芦名星のたぶん本当の死因 芦名星は自殺した。その前後、 三浦春馬と竹内結子の自宅のクローゼットでの首吊りという同じ仕方での連続自殺 があり、他殺の陰謀論も思い浮かぶけど、しかし違うのではないか。今の 日本の芸能界には死にたくなる気持ち悪さがある し、芸能人が裕福な生活でも自殺することはさほど不思議ではない...
幸せの良さはインパクトが物凄く大きいために人々の印象にも残り易いと考える ブログのヘッダーの背景画像を変更した。無料素材の クリスティン・フォークトの写真 を使っている。 Pexelsで見付けるや否や本当に素晴らしく気に入ってしまった A woman in snowflakes by Kristin Vogt / Pexels 雪の中で紺...
アガサ・クリスティの誘拐された総理大臣の日本語訳 十九から二十世紀のイギリスの作家、小説家の アガサ・クリスティ の小説の 誘拐された総理大臣 (1923)の日本語訳を行った。一つの文学作品として人間の洞察力に富んだ優れた内容を持つだけではなく、表現も意義深いから外国語の英語の聞き取りと読み取りの教材としても最適だと感じる。 ...
Imgurで画像URLと埋め込みコードを取得する方法 Imgur は自分でアップロードした画像については画像URL/直リンクを取得して他のサイトにHTMLのimgタグで表示させられる。 そして自分と他の人たちも含めて画像の埋め込みコードを取得して他のサイトのHTMLに、そのまま、記載して表示させられもする。 目次 Img...
俳句の規則:字数と季語と切れ字 概要 俳句の規則 俳句は、十七文字という短い詩の中で、季節を感じさせる言葉(季語)を使い、切れ字で語調を整えて表現する伝統的な日本の文学形式です。 句の基本的な構成要素 字数を十七文字に揃える:俳句は大きく三つの部分に分けられる。上句(かみく)と中句(なかく)...
日常の些細な出来事に触れる幸せの味わいは小さいというイメージが欠かせない 誰にでも分かる些細な日常というと他でもなく、小さな幸せの味わいではないか。 永遠の詩人として本質的な認識に基づく命の尊さを伝え届けなくてはならないと考えるけれどもアクセスアップのためには誰にでも分かる些細な日常のイメージも大事にするべきだろう。 小さな幸せの味わいをどこま...
シソンヌのラーメン屋:とんこつラーメンを臭いラーメンと呼んだコントが好き シソンヌ (お笑い)のラーメン屋のコントが面白かった。とんこつラーメンを臭いラーメンと呼ぶから僕も同じだったと気付いた。 シソンヌのラーメン屋 (Google検索) 否、店によってはそばを通りかかるだけでも堪らないくらい臭いから、一体、何だろうと本当に思わずにはいられなか...
燃え上がる情熱からサイト運営に気持ちを爆発させよ 昔と比べてサイト運営でアクセスが伸び悩むのは僕の気持ちとして皆と仲良くする思いが減っているのではないか。 改めて人々との交流を強く願ってやってみたいと感じる 皆に心から来て欲しいということは盛り上がるホームページやブログが素晴らしいと夢見ているせいなので、そうした気持...
徳川家康の忸怩たる思いも良く分かるようで偉く辛い 朝からブログに誰も来てない。午前中のアクセスが皆無ならば一日で十人も厳しいだろう。二ヵ月前からアクセスが伸び出して一日に五人くらいだったのが十人、十五人と増えたので、今月はできれば二十人を望んでいた。 Google検索では上昇傾向の見られる些細な日常なので、本当に厳しい。偶々...
コメント