window>iframe>iframe

18 отговора 548 прегледа
#1

window>iframe>iframe

имам window.parent.frames['iframe1].iframe2.document.body.innerHTML и като пусна през ИЕ да видя кода на втория или по-точно на ифрейма в ифрейма се показва всичко ясно и точно, но при ФФ ми казва, че парвият няма такова(?!?!?!?!) свойство. къде точно трябва да е помести iframe2 в първият ( window.parent.frames['iframe1.frames['iframe2'].document.body.innerHTML] нещо такова?), че да тръгне? Благодаря за подсказванията.

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

Re: window>iframe>iframe

никои ли не се сеща нещо?

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

Re: window>iframe>iframe

getElementById требе да използваш
Масивът frames май само в IE го има

Когато боговете говорят, ония с фактите никакви ги няма.
Отговор
в отговор на Heaндepтaлeцa Джo #4

Re: window>iframe>iframe

има го разбира се и при FF, но доколкото си спомням, индексите са само цифрови... може и да греша разбира се, но все си мсиля че имаше нещо такова

[линк]

не че е много богата документацията де :)))

Отговор
в отговор на Viper X #5

Re: window>iframe>iframe

кавото и да направя ми връща iframe1 has no properties....

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

Re: window>iframe>iframe

Знам, че няма да ти помогна много, но ифреймове във фреймове, само ИЕ може да си ги разбере - все пак ифреймовете от него се пръкнаха. Що не пробваш с друго?или зарежеш ФФ?

*** *** ***
Отговор
в отговор на NetWalker #7

Re: window>iframe>iframe

мен не ми и трябва дали работи или не, ама ак го пусне някой през ФФ и му изреве на умряло... както и да е. за сега го оставям и ако някой намери нещо да пише тука или на лична бележка. благодаря на всички

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

Хммм

Реших да пробвам и взе че сработи. Същото:
window.parent.frames['iframe1'].iframe2.document.body.innerHTML
Виж тук:
[линк]
Сработи под IE6, Opera 8.5 и FF 1.5.
Защо не отвориш проблемния URL с DOM инспектора на FF (Ctrl+Shift+I) ? Доста полезен tool с който можеш директно да разгледаш DOM йерархията.

От неизбежното се възмущава само този, който е неразумен.
Отговор
в отговор на Учeщ #9

Re: Хммм

и това го пробвах и пак същият отговор. а когато отворя твоят пример, работи

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

Re: window>iframe>iframe

v iframe-a ne sloji normalen frameset s frames a ne drug iframe i niama da imash problemi

Отговор
в отговор на lframe #11

Re: window>iframe>iframe



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

Re: window>iframe>iframe

sorry, iskah da kaja SLOJI v iframe-a normalen frameset s frames a ne drug iframe i niama da imash problemi

Отговор
в отговор на iframe #13

Re: window>iframe>iframe

бре не става бе

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

Re: window>iframe>iframe

Става разбира се :)

<html>
<body onload="ShowFrame()">
p1 page
<iframe name="frame2" src="p2.html"></iframe>
<script>
function ShowFrame()
{
alert(window.parent.frames["frame1"].frames["frame2"].document.body.innerHTML);
}
</script>
</body>
</html>

Това работи в IE6, FF1.5, Netscape8 и Opera8.5. Обаче ако се вика onLoad. :)

Отговор
в отговор на anyone_bg #15

Re: window&gt;iframe&gt;iframe

тва същото като на Учещ и при мен работи ама като заменя в моята страница: Error: window.parent.frames.frame1 has no properties ..... са е****

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

Re: window&gt;iframe&gt;iframe

Не е съвсем същото. Не че толкова се натискам, ама що не си дадеш сорса да видим?

Отговор
в отговор на anyone_bg #17

Re: щом ти се занимава

няма нищо по различно от това което дадох преди.

index.html
<html>
<body>
<form action="javascript:;" method="post" onsubmit="javascript:save_form(this.parentNode);" >
<iframe id="iframe1" src="iframe1.html" width="100%" height="400" frameborder="no" scrolling="no"></iframe><input type="text" id="wysiwyg_title" name="wysiwyg_title" value="" size="80" />
<script>
<script language="javascript" type="text/javascript">
var http_request = false;
function makePOSTRequest(url, parameters)
{
http_request = false;
if (window.XMLHttpRequest)
{
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType)
{
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!http_request)
{
alert('temp error');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(parameters);
}

function alertContents()
{
if (http_request.readyState == 4)
{
if (http_request.status == 200)
{
result = http_request.responseText;

if (result == "saved")
{
alert("saved");
}
else
{
alert("Temp error");
}

}
else
{
alert('Temp error');
}
}
}
function save_form(obj) { var poststr = "wysiwyg=" + window.parent.frames['iframe1'].frames['iframe2'].document.body.innerHTML + "&wysiwyg_title=" + encodeURI( document.getElementById("wysiwyg_title").value ); makePOSTRequest('save.php', poststr);}
</script></form></body></html>

iframe1.html
<html><body>
#тука има таблица с бутони за редакция на текста в iframe2
<iframe id="iframe2" src="about:blank" width="100%" height="200" frameborder="no" scrolling="no"></iframe>
</body></html>

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

Re: щом ти се занимава

Съжалявам, че се забавих.
Първо не трябва да викаш така iframe защото ти се намира в текущия window, a не в parent.
Освен това нямаш name на iframe, a го викаш по name.
Не мога да си представя, че не може да се подкара :).

Отговор
в отговор на anyone_bg #19

Re: щом ти се занимава

"Първо не трябва да викаш така iframe защото ти се намира в текущия window, a не в parent" - това ти ми го даде като пример. пробвал съм и с виндов и с документ и с какво ли не.
"Освен това нямаш name на iframe, a го викаш по name." - и с име и ИД не сатава
"Не мога да си представя, че не може да се подкара :)." - ми .....

Отговор