Ответ 1
Вы можете сначала закодировать строку и сравнить ее. Это даст тот же результат в Firefox и Chrome.
// 0 Chrome // 0 Firefox
encodeURIComponent("İSTANBUL".toLowerCase()).indexOf(encodeURIComponent("İS".toLowerCase()))
Тот факт, что Firefox и Chrome обрабатывают его по-другому, странно. Но странно определяется w3c spec здесь: https://www.w3.org/TR/charmod-norm/#matchingAlgorithm fwiw, вы должны сначала ввести строчную строку, а затем закодировать ее. Они не будут совпадать, если они не будут в одном и том же случае.
Найден Ошибка Firefox и отмеченный дубликат [812837]. (https://bugzilla.mozilla.org/show_bug.cgi?id=812837) Это было сообщено в 2011 году и оно все еще открыто. Поэтому я считаю, что это не приоритет.