Как добавить событие на document в Iframe ?
Есть главная и фрейм c этого же домена,
После onload фрейма -на body фрейма необходимо добавить событие onunload - Подскажите...буду рад всем ответам! (доступа к серверу - нет!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://forum.mybb.ru/style/Mybb_Bend/Mybb_Bend.css" />
</head>
<body>
<iframe id="Iframe01" name="iframe01" src="../frameLoad.html" onload="LoadF()">
<script type="text/javascript">
LoadF(){
//Tут добавить событиеж
}
</script>
</body>
</html>
|
Цитата:
function LoadF(){
document.getElementsByName('iframe01')[0].contentWindow.document.getElementsByTagName('body')[0].onunload = function() { alert("валим") };
alert(document.getElementsByName("iframe01")[0].contentWindow.document.getElementsByTagName("body")[0].onunload);
}
|
а почему
document.getElementsByTagName('body')[0] а не document.body ? |
Цитата:
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://forum.mybb.ru/style/Mybb_Bend/Mybb_Bend.css" />
</head>
<body>
<script type="text/javascript">
alert(document.URL)
//Tут добавить событие;
function LoadF(){
document.getElementsByName('iframe01')[0].contentWindow.document.getElementsByTagName('body')[0].onclick = function() {
alert("Клик")
};
alert('Load');
}
</script>
<iframe id="Iframe01" name="iframe01" src="http://lookatcode.com/showhtml" onload="LoadF()">
</body>
</html>
:( Чот не хочет - (* аlertы, чтобы - показать что загрузка есть и адрес фрейма тот жаСобытия onclick - не добавилось! |
в опере показало все ок
|
cyber,
И что - ти кликаешь по фрейму и есть - alert("Клик") ? |
да не чет я затупил
клик не срабатывает... |
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://forum.mybb.ru/style/Mybb_Bend/Mybb_Bend.css" />
</head>
<body>
<script type="text/javascript">
alert(document.URL)
//Tут добавить событие;
function LoadF(){
var b = document.getElementsByName('iframe01')[0].contentWindow.document.getElementsByTagName('body')[0];
b.style.height = "100%";
b.onclick = function() {
alert("Клик")
}
alert('Load');
}
</script>
<iframe id="Iframe01" name="iframe01" src="http://lookatcode.com/showhtml" onload="LoadF()">
</body>
</html>
|
body это тоже блочный элемент, он как дивак, если есть внутри что-то тогда и растягивается.. в противном случае просто высота 0px
|
devote,
CПС! (плюсы - не дают ставить |
devote,
А еще, :write: не подскажете - как добавить простейший скрипт во фрейм - (<script>alert('A')</script> ) *создание тега на родителе и вставка - не вышло(может как и с body - что-то упустил ? |
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://forum.mybb.ru/style/Mybb_Bend/Mybb_Bend.css" />
</head>
<body>
<script type="text/javascript">
alert(document.URL)
//Tут добавить событие;
function LoadF(){
var doc = document.getElementsByName('iframe01')[0].contentWindow.document;
var script = doc.createElement( 'script' );
script.text = "alert('Hello!')";
doc.body.appendChild( script );
doc.body.style.height = "100%";
doc.body.onclick = function() {
alert("Клик")
}
alert('Load');
}
</script>
<iframe id="Iframe01" name="iframe01" src="http://lookatcode.com/showhtml" onload="LoadF()">
</body>
</html>
|
devote, ++ Бу должен СПС
|
devote,
А можно тож самое можно сделать не тегом <script>, а созданием и добавкой функции с автозапуском ? |
:)
|
Цитата:
|
devote,
Ну мы же можем создать функцию на родителе ?
(function () {
alert('Hello')
}())
Очевидно наверно также мы можем создать и во фрейме (находясь на родителе? |
Цитата:
(function( window, document ) {
alert( 'Hello' )
}(
document.getElementsByName('iframe01')[0].contentWindow,
document.getElementsByName('iframe01')[0].contentWindow.document
));
|
devote,
Ды чот помню видел - типо присвоения
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://forum.mybb.ru/style/Mybb_Bend/Mybb_Bend.css" />
</head>
<body>
<script type="text/javascript">
alert(document.URL)
//Tут добавить событие;
function LoadF(){
var doc = document.getElementsByName('iframe01')[0].contentWindow.document;
doc=(function () {
alert('Hello')
}())
doc.body.style.height = "100%";
doc.body.onclick = function() {
alert("Клик")
}
alert('Load');
}
</script>
<iframe id="Iframe01" name="iframe01" src="http://lookatcode.com/showhtml" onload="LoadF()">
</body>
</html>
|
:dance:
|
В Мозилле
doc=(function () {
alert('Hello')
}())
не Пашет ....Хнык |
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://forum.mybb.ru/style/Mybb_Bend/Mybb_Bend.css" />
</head>
<body>
<script type="text/javascript">
alert(document.URL)
//Tут добавить событие;
function LoadF(){
var win = document.getElementsByName('iframe01')[0].contentWindow,
doc = win.document;
win.eval.call( win, (function(){
// тут все выполняется в контексте iframe
function lala() {
alert( 'lala' );
}
alert( 'Hello' );
}).toString().replace(/^function\(\){/,'').replace(/}$/,''));
var script = doc.createElement( 'script' );
script.text = "lala()";
doc.body.appendChild( script );
doc.body.style.height = "100%";
doc.body.onclick = function() {
alert("Клик")
}
alert('Load');
}
</script>
<iframe id="Iframe01" name="iframe01" src="http://lookatcode.com/showhtml" onload="LoadF()">
</body>
</html>
|
devote,
Пасиб, - буду пробовать! |
| Часовой пояс GMT +3, время: 13:16. |