Номер выделенной картинки
На странице выделен текст, в котором есть картинка.
Нужно определить её номер.
Сейчас я это пытаюсь сделать так:
----------------
<script>
function nomer(){
var tr=document.selection.createRange()
x='file\:\/\/\/'+tr.htmlText.split('src="')[1].split('"')[0
]
N=0
for(i=0; i<document.images.length; i++){//for
if(document.images[i].src==x){N=i}
}//for
alert(N)
}
</script>
<input type="button" value="f_a" onClick="nomer()">
<br><br>Это картинка номер 0
<img src="C:/Folder/kartinka0.gif">
Это картинка номер 0
<br><br>Это картинка номер 1
<img src="C:/Folder/kartinka1.gif">
Это картинка номер 1
<br><br>Это картинка номер 2
<img src="C:/Folder/kartinka2.gif">
Это картинка номер 2
<br><br>Это картинка номер 3
<img src="C:/Folder/kartinka3.gif">
Это картинка номер 3
----------------
Понятно, что такой подход не разумный.
Во первых, по тому, что в место двойных кавычек
src="C:/Folder/kartinka0.gif"
могут быть одинарные
src='C:/Folder/kartinka0.gif'
во вторых, если на странице несколько одинаковых картинок то будет показан номер не выделенной, а последней из одинаковых.
Наверно эта задача может быть решена вообще без получения и обработки html кода.
Как можно по-умному решить эту задачу?
P.S. Вариант, когда выделены сразу две и более картинки можно не рассматривать.
|