考えられる問題
問題はconst
、strict モードを有効にして宣言を行ったことにある可能性があります。
可能な解決策
そのような場合で、厳密モードを引き続き使用したい場合は、var
代わりにを使用const
し、変数を定数として扱うように注意することが 1 つの解決策です。
この問題の詳細
iOS Safari のリモート コンソール「Web Inspector」を使用できないため、OS X コンピュータなしでこの問題をデバッグすることは実際には困難です。
ただし、caniuse によると、現在のバージョンの Safari と iOS Safari の両方 (執筆時点ではそれぞれ 9.1 と 9.3)const
は次のとおりです。
厳密モードでない場合にのみ認識されます
次の例 (またはこの JSFiddle ) を使用して、これを自分でテストできます。このコードは、Ubuntu と Android の両方で Chrome と Firefox を使用すると期待どおりに機能しましたが、iOS 用の Firefox または iOS Safari では機能しませんでした。
HTML
<pre></pre>
<form>
<input type="submit">
</form>
JS
"use strict";
var form = document.querySelector("form");
var info = document.querySelector("pre");
// This const declaration in conjunction with strict mode will
// cause this script not to work on iOS devices
const _MEANINGLESS = 0;
form.addEventListener("submit", function(event) {
event.preventDefault();
info.textContent = "Submit event captured.\n";
});