Добавление начинается с IE 11
IE 11 не поддерживает startsWith
со строками. (Посмотрите здесь)
Как добавить прототип, чтобы он поддерживал метод?
Ответы
Ответ 2
Найден более простой способ исправить это,
function startsWith(str, word) {
return str.lastIndexOf(word, 0) === 0;
}
как мудрый, чтобы найти endswith использование ниже кода,
function endsWith(str, word) {
return str.indexOf(word, str.length - word.length) !== -1;
}
Ответ 3
Я использовал этот polyfill:
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function(prefix) {
return this.slice(0, prefix.length) == prefix;
};
}
Ответ 4
Вы можете использовать это. Он работает с Internet Explorer 11 и большинством новейших браузеров. Одним из преимуществ этого кода является то, что, если по умолчанию "арты с "и" Концы "работают с вашим последним браузером, тогда эти функции выполняют свою работу.
function startsWith(str, prefix) {
if (str.length < prefix.length){
return false;
}
if(String.prototype.startsWith) {
return str.startsWith(prefix);
}
//return str.slice(0, prefix.length) == prefix;
return str.substring(0, prefix.length) === prefix;
}
function endsWith(str, suffix) {
if (str.length < suffix.length){
return false;
}
if(String.prototype.endsWith) {
return str.endsWith(suffix);
}
return str.substring(str.length - suffix.length, str.length) === suffix;
}
/* usage */
var myHtml = "<strong>This is html content</strong>";
var myString = "This is simlpe text for test";
if(startsWith(myHtml, "<strong>")){
console.log("start with <strong>");
}
if(startsWith(myString, 'This')){
console.log("start with 'This'");
}
if(endsWith(myHtml, "</strong>")){
console.log("ends with </strong>");
}
if(endsWith(myString, 'test')){
console.log("ends with 'test'");
}