javascript, задаване на event на iframe, FF/Opera?

4 отговора 146 прегледа
#1

javascript, задаване на event на iframe, FF/Opera?

Здравейте,
имам следните 2 файла


test.html
------------------------------------------------
<html>
<head>
</head>
<script>
window.onload=function(){
window.focus()
var frm=document.getElementsByTagName("iframe");
for(var j=0; j<frm.length; j++)
{
//frm.onmouseover= function()
frm[j].onfocus= function()
{
alert('focused');
window.focus();
}
}
}
</script>
<body>
<iframe src="test_frame.html"></iframe>

това за дъмп на първия фрейм
<a href="#" onclick="var frm=document.getElementsByTagName('iframe');alert(frm[0].onfocus);">dump</a>
</body>
</html>






test_frame.html
------------------------------------------------

<html>
<head></head>
<body>
<h1>test</h1>
</body>
</html>


Искам да задам event на iframe-то, onfocus - да прави нещо си.

Теста ми под IE 6 си работи, за IE 5 - не знам, ако някой има възможност, да каже...
Под Firefox и Опера 7/8 - нищо не се изпълнява

Интересно - ако се смени event-а от onfocus на onmouseover - под FF работи, но под Opera - не. Това само за опит, иначе ми трябва само onfocus

На iframe не мога да задавам ID/name атрибути - генерират се динамично,
по няколко са на страница.

Линкът "dump" ми е да ми покаже какво е зададено на onfocus на първия frame, показва си функцията, която задавам (IE, FF, Opera), но идея си нямам защо не се изпълнява...

Важното в задачата е да се подкара това задаване на onfocus поне под Firefox/Mozilla, за Операта не е толкова фатално.
За браузърите, за които не става - шефовете предпочитат да ги отрежат, отколкото да не работи както трябва.

Благодаря.

Отговор
в отговор на нoвak #2

Re: javascript, задаване на event на iframe, FF/Opera?

onFocus() работи под FireFox, но само ако натиснеш върху border-a на фрейма.

"На iframe не мога да задавам ID/name атрибути - генерират се динамично,
по няколко са на страница."
С това какво искаш да кажеш?

Отговор
в отговор на ghs #3

Ако иска...

може да следи мехурчето... Да прочете повече за събитията...

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на Koтapakът нa Шpьoдинrep #4

Re: Ако иска...

Koтapakът нa Шpьoдинrep - не разбрах това за мехурчето.. нямам много опит с js, може ли малко по-подробни напътствия, не намерих нищо и в гугъла по моя проблем...


ghs - "На iframe не мога да задавам ID/name атрибути" - че таговете за фрейма се генерират така:
<iframe src="test_frame.html"></iframe>
и не мога да задам примерно
<iframe src="test_frame.html" id="myframe" name="myframe"></iframe>,
ако въобще има значение

Отговор
в отговор на нoвak #5

Ето...

лесно и по-сложно обяснение:

[линк]

[линк]

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор