原因は・・・
「SafariがJavaScriptの正規表現の「lookbehind」に対応していない」というのが原因でした。
※正規表現の「(?<= )」「(?<! )」が非対応
<参考URL>js-regexp-lookbehindの対応状況
https://caniuse.com/js-regexp-lookbehind
発生した挙動
今回のケースでは、サイトをブラウザで見たときに下記の状態となりました。
・PC、Androidでは問題なく表示されていた。
・iPhoneで見たときにcssが一切あたらない表示になった。
調査開始!
発生した挙動から、iPhoneだけJavaScriptでなんらかのエラーが発生した関係で、
cssファイルの読み込みが行われてないのでは?と推測しました。
なので、iPhoneをMacにつなげて、Webインスペクタで確認・・・!
案の定エラーが出ていたのでメッセージを確認!
「SyntaxError: Invalid regular expression: invalid group specifier name」
教えてGoogle先生!
エラーログを読んだだけではピンと来なかったので、
Google先生にエラー原文で検索かけてみる・・・!
いくつか見て「正規表現」周りの問題の可能性が高そうと判断!
正規表現使っているところを探して、コメントアウトしてみたところエラーが発生せず、
iPhoneでもちゃんとサイトが表示されました!
修正してやる!
原因となってる処理は特定できたので、処理内容の確認・・・
すると、正規表現使わなくてもきれいにできそうな内容でした・・・(汗)
今回は「正規表現の利用をやめる」って修正にして解決しましたとさ!