Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как получить имя текущего файла (https://javascript.ru/forum/dom-window/32198-kak-poluchit-imya-tekushhego-fajjla.html)

Andrey_szr 07.10.2012 00:38

Как получить имя текущего файла
 
Просьба помочь в данном вопросе.
При клике на картинку я повесил по onclick функцию:
function loadimage(){
	var myimagesrc=document.getElementsByName('myimage')[0].src;
	myimagen=myimagesrc.match(/(?:^|\/|\\)([^\\\/]+)$/)[1];
alert(myimagen);


С помощью этой функции я могу видеть имя 1-й картинки, а как сделать, чтобы при клике на картинку 2, 3 и т.д. выводилось имя соотв. изображения?

bes 07.10.2012 09:41

var str = 'http://javascript.ru/forum/dom-window/32198-kak-poluchit-imya-tekushhego-fajjla.html';
var mas = str.split('/');
alert(mas[mas.length - 1]);
alert(str.match(/[^\/]+(?=\.html)/)[0]);


PS: через target, через this

Andrey_szr 07.10.2012 23:20

В общем выкрутился следующим образом:
for(k=0;k<20;k++){
		var myimagesrc=document.getElementsByName('myimage');
		myimagesrc[k].onclick=function(){
		myimagesrc2=this.src;
		myimagen=myimagesrc2.match(/(?:^|\/|\\)([^\\\/]+)$/)[1];
		var myimage1=myimagen.charAt(0);
		var myimage2=myimagen.charAt(1);
		var myimage3=myimagen.charAt(2);
		var myimage4=myimagen.charAt(3);
		var myimage=myimage1+myimage2+myimage3+myimage4;
alert(myimage);
	}
	}

Буду признателен за указание на ошибки и помощь в оптимизации кода.

bes 08.10.2012 10:18

<img src="http://javascript.ru/themes/defaultangy/images/home.gif">
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif">

<script>
document.body.onclick = function (e) {
	var e = e || event;
	var target = e.target || e.srcElement;
	if (target.tagName == 'IMG') {
		alert(target.src.match(/[^\/]+(?=\.(gif|jpeg|jpg|png))/)[0]);
	}
}
</script>


Часовой пояс GMT +3, время: 19:38.