PCブラウザでは問題なく動いていたjavascriptコードが、iphoneのブラウザでは何故かうんともすんとも言わない…良く分からないエラーを吐いている、、そんな事ありませんか?
様々な原因によって発生するこの現象ですが、今回私がハマってしまったこの現象、その原因は「正規表現マッチングに使っていたRegExpオブジェクト」にありました。
おそらくiPhoneではエスケープ文字の解釈の違いがあったとか、逆にPC版ブラウザでは記述ミスをフォローする処理が含まれていたとか、でしょう。
ただよくわからないのは、PCの方でもSublime TextではJSHintが否定後読み「?<!」の「<」にエラーを吐いていた事です。先読みは問題なく通ります。
正規表現にも色々な仕様の違いがあるのでしょうか…??
また、
$(document).on('click', function() {
のようにクリック処理がiOSでのみ動かない場合があります。この場合は対象となるDOM要素に対しCSSで
cursor:pointer;と追加する事で動くようになります。
コメント