Показать сообщение отдельно
  #8 (permalink)  
Старый 19.11.2011, 18:52
Профессор
Отправить личное сообщение для lancer Посмотреть профиль Найти все сообщения от lancer
 
Регистрация: 30.01.2008
Сообщений: 230

Я развесил на ссылки iframe'а события.
Все работает везде, но в IE-s 7/8 какую бы ссылку я нажал всегда показыватся url только последней ссылки(#a10).

Функции расстановки и обработки:

//--------------------set_events-------------------------------
function set_events(){
var user_frame_param = document.getElementById("user_frame");
if (/MSIE (7|8).+Win/.test(navigator.userAgent))
{
	for ( i=0; i < user_frame_param.contentWindow.document.links.length; i++ ){
		var link_href = user_frame_param.contentWindow.document.links[i];
		user_frame_param.contentWindow.document.links[i].attachEvent('onclick', 
		function() {
			write_href(link_href);
		})
    }
}
else
{
	for ( i=0; i < user_frame_param.contentWindow.document.links.length; i++ ){
		user_frame_param.contentWindow.document.links[i].addEventListener("click", function(){write_href(this)}, false);
    }
}
}

//----------------------write_href---------------------------------
function write_href(last_href_param){
alert(last_href_param)

}


Также прикладываю целиком папочку iframer.zip.


П.С., что если переменная не объявлена через var при стрикте, то ничего не будет работать - ни разу не замечал, по-моему в языке есть выбор объявлять через var или просто.
Вложения:
Тип файла: zip iframer.zip (34.0 Кб, 4 просмотров)
Ответить с цитированием