Привет всем любителям, начинающим и профессионалам Javascript!
На днях столкнулся с такой проблемой и не могу её пока решить. Начну сразу с элементарного примера:
<script>
var Str = "Привет, мир".indexOf("м", 0); //Результата: индекс 8.
alert(Str);
</script>
Как видно из примера результат должен быть 8. Но на самом деле такой результат выдаёт только браузер Chrome 28 и Opera 12.14! FireFox 22.0, InternetExplorer 10 и Safari 5.1.7, выдают результат 14!!! Причём если указать в IndexOf("какой-нибудь - другой символ", 0), то результат тоже отличается от правильного, т.е. в Chrome и Opera вычисления происходят корректно, а в других браузерах в два раза больше: т.е не 5 а 10; не 4, а 8 и т.д... Но если указать в строке поиска первую букву - "П", то индекс 0 отображается как результат во всех браузерах идентично! В чём проблема?!!! Кто мне может подсказать? Может лучше пользоваться не методом indexOf, а каким-нибудь другим?! Буду очень признателен за помощь. Заранее благодарю!
Да, этот скрипт у меня один в html и ничего больше не подключенно. Переменные не переопределяются. Т.е. то что вы видите - то и имеется. Ну разумеется кроме вёрстки самой странице в стандарте html 5. На всякий случай даю полную страницу:
<!DOCTYPE html>
<html>
<head>
<title>ТЕСТ</title>
</head>
<body>
<script>
var Str = "Привет, мир".indexOf("м", 0); // Результата: индекс - 8.
alert(Str);
</script>
</body>
</html>