エラー内容
let a = xxxxx.join('');
ReferenceError: Can't find variable: xxxxx
Chromeでは、出なかった参照エラー。
ブラウザ特有のエラーということで、「safariのみ ReferenceError JS」
などのワードでググってみましたが、jQueryのクリックイベントのDOM参照方法であったり、cssのcursor: pointer;
を足してみるであったり、自分のエラーと本質的に異なるものばかりで諦めていました。
また、clickイベントで出たーエラーでだったので、イベントが発生するところとしない箇所でconsoleで確認してみたりと時間をかなり掛けました。
しかし、原因はとても単純でした・・・
解決策
変数宣言を変えるだけ。
var rivalNumText = xxxxx.join('');
まさかのvarに変えるだけでした。。。
原因は結局??
varよりも、letの方が比較的新しいということで使用していました。
しかし、let
はSafariやIE、iOS、またAndroidのブラウザではサポートされていないみたいです。
動作スピード的にはletやconstを使用する方が早いみたいですが、ブラウザ対応の面で考えるとその点についても考慮する必要があるみたいです。
●<コメントより修正>
let
が使用できないのは、自分自身の環境の問題の可能性もあります。
対応しているブラウザであれば、ブラウザの更新でlet
を使用できるよう解決できます。
今回で言えば、let
がどのブラウザで使えるのかこちらのサイトから確認できるみたいです。