どうも、イソップです。
IE11では、Array.prototype.includes
メソッドがサポートされていないため動作しません。
includesメソッドを使わないのが一番簡単ですが、Polyfill(ポリフィル、代替コード)を実装することで、IE11でも動作させることが出来ます。
Polyfill実装コード
次のコードをサイトで読み込んでいるJSファイルに追加しましょう。
[js]
if (!Array.prototype.includes) {
Object.defineProperty(Array.prototype, ‘includes’, {
value: function(searchElement, fromIndex) {
if (this == null) {
throw new TypeError(‘”this” is null or not defined’);
}
var o = Object(this);
var len = o.length >>> 0;
if (len === 0) {
return false;
}
var n = fromIndex | 0;
var k = Math.max(n >= 0 ? n : len – Math.abs(n), 0);
while (k < len) {
if (o[k] === searchElement) {
return true;
}
k++;
}
return false;
}
});
}
[/js]
コードを追加するだけで、IE11でincludesメソッドが利用できるようになります。
[aside type="border"]参考サイト
Array.prototype.includes() – JavaScript | MDN[/aside]