В JS я пока полный ноль - как и многие ищу готовые скрипты и немного исправляя под свои нужды пытаюсь разбираться как они работают.
Поставил на свою страничку довольно распространенный скрипт:
<script language="Javascript" type="text/javascript">
function searchword(word)
{
var r=I1.document.selection.createRange().text;
if (word) {
r=I1.document.body.createTextRange();
i=0;
while(r.findText(word))
{i++;
r.execCommand('BackColor','','#F0E68C');
r.collapse(false);
r.scrollIntoView();
cont=confirm('Продолжить?');
if (!cont) break
else i=0}
if (i==0) alert('Искомое слово не найдено')
}
}
</script>
В IE все работает как положено. В Опере (ну и в FF тоже) никакой реакции.
Включил в Опере отображение консоли ошибок - при вызове этой функции выдается сообщение:
Event tread: click
Error:
name: TypeError
message: Statement on line 6: Type mismatch
Ругается как бы на неверный тип переменной, это его i не устраивает?
Кто-нибудь может объяснить почему работает в IE и не работает в Опере и FF?
P.S. Только пожалуйста можно без слов об "устаревших скриптах найденных на помойках".