include()在IE中不起作用

raj*_*der 2 javascript jquery

我正在使用以下代码。它在Chrome,Firefox或Edge等浏览器中完美运行。但是,当我签入IE11时,它不起作用并破坏了所有功能。

var href = jQuery(this).attr('href');
if (href.includes('#')) {
  // action
}
Run Code Online (Sandbox Code Playgroud)

我认为includes()在IE11中不起作用。有解决方案吗?

Ror*_*san 6

问题是因为includes()在所有版本的IE中均不支持该问题:MDN参考

相反,您可以使用更广泛支持的方法indexOf():

var href = $(this).attr('href');
if (href.indexOf('#') != -1) {
  // action
}
Run Code Online (Sandbox Code Playgroud)

您也可以对此进行原型制作,以将includes()方法添加到IE:

String.prototype.includes = function(match) {
  return this.indexOf(match) !== -1;
}
Run Code Online (Sandbox Code Playgroud)