resizeイベントを使用する場合は、iOS Safariでの挙動に注意

ウインドウをリサイズしたタイミングでJavaScriptを再度実行したりするときにresizeを使用することがあります。
window.addEventListener('resize', function() {
// リサイズ時の処理
}, false );PCの場合、リサイズが発火するのはユーザーが意図的にウインドウの幅を変えたときになりますが、SPの場合はスクロールの影響によって発火してしまうので注意が必要です。
発生する現象
例えば、iOS Safariでは画面を下にスワイプすると上のアドレスバーが小さくなり、その影響でブラウザの表示領域が大きくなります。

このアドレスバーが小さくなるのも「ウインドウがリサイズされた」として発火してしまいます。
スマホでは発火しないようにする
基本的にスマホ表示でリサイズ関連の処理は不要なので、resize以降の処理は条件分岐で発火しないようにしておきましょう。
スマホでは処理を中断する
resizeの中に下記のコードを追加すれば、スマホでは処理が中断されます。
let ua = navigator.userAgent;
if ((ua.indexOf('iPhone') > 0 || ua.indexOf('Android') > 0) && ua.indexOf('Mobile') > 0) {
return false
}ポートレートモードに切り替えたときは発火するようにする
スマホでもポートレートモード(画面横に切り替え)にしたときは発火したい場合、イベントでorientationchangeを使うと発火できます。
window.addEventListener('orientationchange', function() {
// ポートレートモード切り替え時の処理
}, false );ポートレートモードでサイトを見る人はほとんどいないと思いますが、念のためresizeで中断するように指定した場合は、忘れずにこちらも指定しておきましょう。

iTerm2を使いこなすために覚えておきたいショートカット集
Nuxt.jsでaxios-moduleを使ってAPIからデータを取得・表示する|Nuxt.jsの基本
コーディング時に「アノテーションコメント」を使ってコードを見やすく管理する
WordPressのヘッダーにツールバーが表示されないときは、wp_headやwp_footerが入っているか確認
Visual Studio Codeで正規表現にマッチするか確認できる拡張機能「Regex Previewer」
ウェブサイトをダークモードに対応するときに気をつけること
Safari 12.1から外観モード(ライト/ダーク)の判定をCSSで行えるように!
npm-scriptsでSCSSをコンパイルする環境を構築する方法
Vue.jsで値段を表示するときに3桁ごとにカンマを入れる方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法