Из фрейма не берётся содержимое, как правильно обращаться к нему ?

Статус
Закрыто для дальнейших ответов.

legat

New Member
Регистрация
16.04.2007
Сообщения
9
Есть фрейм:
<iframe id="sourceframe" src="/files/test.htm" width="200" height="200"></iframe>

В нём есть элемент:
<span id="leftcol34592">Hello World !!!</span>

Обращаюсь из родительского окна так:

var s=window.frames[getElementById('sourceframe')].document.getElementById('leftcol34592').innerHTML;
document.write(s);

И не работает. Как правильно сделать обращение к элементам фрейма ?


ЗЫ.
Если делать так:
request=new ActiveXObject('Msxml2.XMLHTTP');
request.open('GET', "/files/test.htm", false);
request.send(null);
document.write(request.responseText);

То страница загружается... Но кодировка кривая, знаками вопроса все Русские символы.
Может кто знает - как пофиксить сей глюк с кодировкой ?
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
Если делать так:
request=new ActiveXObject('Msxml2.XMLHTTP');
request.open('GET', "/files/test.htm", false);
request.send(null);
document.write(request.responseText);

То страница загружается... Но кодировка кривая, знаками вопроса все Русские символы.
Может кто знает - как пофиксить сей глюк с кодировкой ?

переводить сайт/сервер на utf8. либо юзать аяксовые библы в которых используется escape/unescape.

поиск по форуму. с фреймами столет не работал не подскажу.
 

POLTER

Active Member
Регистрация
03.09.2006
Сообщения
29
Обращаюсь из родительского окна так:

var s=window.frames[getElementById('sourceframe')].document.getElementById('leftcol34592').innerHTML;
document.write(s);

И не работает. Как правильно сделать обращение к элементам фрейма ?
Ну во-пеовых нгадо не windows а parent.
Во вторых - frames[getElementById('sourceframe')] -- это что? Надо так: frames['name'] или frames[номер] или frames.name или просто name.
ЗЫ.
Если делать так:
request=new ActiveXObject('Msxml2.XMLHTTP');
request.open('GET', "/files/test.htm", false);
request.send(null);
document.write(request.responseText);
То страница загружается... Но кодировка кривая, знаками вопроса все Русские символы.
Может кто знает - как пофиксить сей глюк с кодировкой ?
Ну это ясно - аякс не принимает данные в кодировке win-1251. Только UTF-8. Можно перекодировать на сервере перед отправкой с помощью iconv.
Но вообще лучше всего перевести все в utf-8.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ