powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Загрузка содержимого в iframe
24 сообщений из 24, страница 1 из 1
Загрузка содержимого в iframe
    #34816319
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, есть вот такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<script language="JavaScript">
function loadfrm()
{
var content = "Text here"
document.getElementById("frm_content").contentWindow.document.body.innerHTML = content;
}
</script>

<iframe name="frm_content" id="frm_content" hspace="10" src="" scrolling="yes" align="right" width="99%" height="100%" style="overflow-x:hidden;"></iframe>

<a href="#" onClick="loadfrm(); return false;">Загрузить</a>

Никак не пойму, куда (и возможно ли вообще) прикрутить к фрейму innerHTML, ведь он, выходит пустой, и не ясно, к какому именно элементу обращаться...

Можно ли как-то по клику произвести загрузку нужного содержимого в iframe наподобие как это делалось бы скажем с div'ом. Причем возможно ли:

- Произвести загрузку контента, сгенерированного JavaScript внутри функции loadfrm()
- Произвести загрузку контента именно ПОСЛЕ загрузки всего документа.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34816335
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот эта штука src="" Вам мешает. Должна быть обязательно указана начальная страница. Т.е., страница лежащая на сервере. Загрузив любую сраницу, Вы сможете менять в ней содержимое, к примеру, тем же innerHTML.
Добраться до содержимого фрейма можно так:
Код: plaintext
document.getElementById('Фрейм').contentWindow.document.getElementById('id')
для IE
и
так для FF
Код: plaintext
document.getElementById('Фрейм').contentDocument.getElementById('id').
Или можно сделать универсальную функцию.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34816686
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GhirikВот эта штука src="" Вам мешает. Должна быть обязательно указана начальная страница. Т.е., страница лежащая на сервере. Загрузив любую сраницу, Вы сможете менять в ней содержимое, к примеру, тем же innerHTML.
Добраться до содержимого фрейма можно так:
Код: plaintext
document.getElementById('Фрейм').contentWindow.document.getElementById('id')
для IE
и
так для FF
Код: plaintext
document.getElementById('Фрейм').contentDocument.getElementById('id').
Или можно сделать универсальную функцию.

Создал страницу frm_html.php, дающую на выходе:

Код: plaintext
1.
2.
3.
4.
5.
<html>
<body>
<div id="frame_inner_block">
</div>
</body>
</html>

Переписал исходный код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<script language="JavaScript">
function loadfrm()
{
var content = "Text here";
var frm = document.getElementById("frm_content").contentWindow.document.getElementById("frame_inner_block");
frm.innerHTML = content;
}
</script>


<iframe name="frm_content" id="frm_content" hspace="10" src="frm_html.php" scrolling="yes" align="right"></iframe>


<a href="#" onClick="loadfrm(); return false;">Загрузить</a>


Вариант с FF, соответственно, с contentDocument.

FF пишет:

document.getElementById("frm_content").contentDocument.document has no properties

IE ругается на "предполагается наличие объекта". То есть тоже как объект фрейм не воспринимает :(
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34816704
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, нет. FF нормально работает, это я неправильно "списал" с примера. А вот IE не хочет :(
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34816741
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё, IE тоже заработал, большое спасибо. А Опера себя ведет как IE или как FF?
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34816782
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ghirik
Добраться до содержимого фрейма можно так:
Код: plaintext
1.
document.getElementById('Фрейм').contentWindow.document.getElementById('id')
для IE
и
так для FF
Код: plaintext
1.
document.getElementById('Фрейм').contentDocument.getElementById('id').
Или можно сделать универсальную функцию.

Не вводите народ в заблуждение
Вы бы хоть проверяли, то, что выдаете на гора
Доступ к содержимому iframe
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34818974
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Не вводите народ в заблуждение Вы бы хоть проверяли, то, что выдаете на гора
Народ ведь и вправду подумает, что такое обращение к фрейму не работает.
И зачем Вы мне ссылку дали на такое же обращение?
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819239
boqtan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не пойму...
вот вам фрейм
<iframe name="frame"></iframe>
<a href="url или сгенерированое" target="frame">загрузить</a>
в чом проблема?
зачем javascript?
еще надо учесть такоую фишку как ОТКЛЮЧЕНИT JAVASCRIPT в браузере! и оно не всегда будет работать!!
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819264
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
в чом проблема?
зачем javascript?

JavaScript для JavaScript-а!
Так делают, чтобы обновлять данные на странице без её перезагрузки.

автореще надо учесть такоую фишку как ОТКЛЮЧЕНИT JAVASCRIPT в браузере!

Статистика говорит, что 94% пользователей Интернета, имеют включенный JavaScript.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819447
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
boqtanя не пойму...
вот вам фрейм
<iframe name="frame"></iframe>
<a href="url или сгенерированое" target="frame">загрузить</a>
в чом проблема?
зачем javascript?
еще надо учесть такоую фишку как ОТКЛЮЧЕНИT JAVASCRIPT в браузере! и оно не всегда будет работать!!

JavaScript нужен для ДИНАМИЧЕСКОЙ подгрузки и изменения содержимого фрейма. Вообще я задумался уже о простом изменении свойства src для фрейма для обращения напрямую к сценарию PHP, который произвел бы загрузку содержимого в фрейм.
Юзеру также придется включить JavaScript, так как чат без JavaScripta работать не будет по-любому.

boqtanНе вводите народ в заблуждение Вы бы хоть проверяли, то, что выдаете на гора Доступ к содержимому iframe:

// Get control's value
SmthVariable=document.getElementById("SmthIFrame").contentWindow.document.getElementById("SmthIFramesInput").value;
// ||
SmthVariable=frames[SmthIFrameNo].document.getElementById("SmthIFramesInput").value;




Так ведь Ghirik вроде так и написал, даже лучше - под IE и FF.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819471
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C FF разобрался. IE не переставая ругается Ошибка:"frm" - есть null или не является объектом


Упростил все до минимума:

init_frame.php
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<html>
<body>
<div id="frm_inner_block">
Start
</div>
</body>
</html>

message.php

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<html>
<body>
<iframe name="message_history" id="message_history" src="/init_frame.php" scrolling="yes" align="left" width="99%" height="100%" style="overflow-x:hidden;"></iframe>
<div id="dtest"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var frm = document.getElementById("message_history").contentWindow.document.getElementById("frm_inner_block");

// так тоже не выходит:
// var frm = document.getElementById("message_history").contentWindow.getElementById("frm_inner_block");

// и так: 
// var frm = frames[ 0 ].document.getElementById("frm_inner_block");

frm.innerHTML = "test frame";
//-->
</SCRIPT>
</body>
</html>

Примеры и ссылки смотрел. Что не нравится IE убейте не пойму...
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819495
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вам нужны iframe'ы? Много лет сущесвует Ajax.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819655
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Софтверный проктологЗачем вам нужны iframe'ы? Много лет сущесвует Ajax.

1. Много лет существует куча бразуеров, которые не хотят понимать HTML одинаково, и по этой причине поведение скажем элементов DIV и IFRAME кардинально различается. Мог бы взять DIV, взял бы и не мучил всех этой темой.
2. Кто сказал, что AJAX у меня не используется?
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819667
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗачем вам нужны iframe'ы? Много лет сущесвует Ajax.

Дайте ссылку на хорошую реализацию Аякса, чтобы гладенько, без напряга, а главное незаметно шел обмен с сервером. Я действительно такого не встречал. Если увижу, буду пересматривать свою позицию на эту тему. И то, только в том случае, если узнаю, какие библиотеки использовались.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819690
Vint_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в поисковике набрать не судьба? я недавно на яндексе искал. целый список готовых примеров и описаний.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819698
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА в поисковике набрать не судьба?

Что искать то будем? Так и написать - ищу хорошую реализацию Ajax. Вы что думаете я не видел, как работают сайты на Ajax-е? Не видел, чтобы хорошо работали, это да...
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819705
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного соврал.
Видел хорошую работу редактирования сообщений в форуме, возможно это был Ajax, но какая реализация, фиг его знает, и сейчас уже не помню, где это было. Приводимые примеры - это не реализация. Хочется увидеть действующий сайт с хорошей нагрузкой и работающим Ajax-ом.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819861
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ghirik
Дайте ссылку на хорошую реализацию Аякса, чтобы гладенько, без напряга, а главное незаметно шел обмен с сервером. Я действительно такого не встречал. Если увижу, буду пересматривать свою позицию на эту тему. И то, только в том случае, если узнаю, какие библиотеки использовались.
Prototype
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34819962
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PHPNoob

> Мог бы взять DIV, взял бы и не мучил всех этой темой
а что у тебя за ситуация такая что можешь взять iframe, но не можешь div? O_o это уже имхо вопрос из разряда прямоты рук.
Тем более если ты итак используешь AJAX. зачем совмещать два подхода?

Ghirik

gmail плохо работает? О_о реализовано на апи GWT
рекомендую посмотреть на апи Adobe Spry и примеры
ну и конечно prototypejs. степени кривости работы ajax на сегодняшний день зависит только от кривости рук программеров

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34820368
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторgmail плохо работает?
Конечно плохо! Хотя, Гугл есть Гугл, там огромные базы... Для таких масштабов понятно.... Но я почему то уверен, что и с небольшими базами, на маленьком сайте, скорость запрос/ответ не изменится. Короче народ зажал ссылки на свои работы :-))), Ваше право, придется начинать вслепую... Adobe Spry, prototypejs, mootools, не плохие фреймворки, и я хочу занятся освоением одного из них. Скорее, последнего, сам сайт распологает , очень хорошо сделан. Люди, создающие такой дизайн, должны не менее кропотливо относится к написанию кода.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34821145
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GhirikСкорее, последнего, сам сайт распологает , очень хорошо сделан. Люди, создающие такой дизайн, должны не менее кропотливо относится к написанию кода.
Ты серьезно штоле? Абсолютно ничем не примечательный серый дизайн. Таких миллионы.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34831833
PHPNoob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Frenzy PHPNoob

> Мог бы взять DIV, взял бы и не мучил всех этой темой
а что у тебя за ситуация такая что можешь взять iframe, но не можешь div? O_o это уже имхо вопрос из разряда прямоты рук.

Возможно. Но дело в том что вся эта конструкция работает в небольшом всплывающем окошке, которое должно поддерживать изменение размеров. Так вот, Firefox просто безбожно глючит с изменением размеров DIV'а, у которого overflow: scroll и в котором есть контент.
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34832869
Ghirik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТы серьезно штоле? Абсолютно ничем не примечательный серый дизайн. Таких миллионы.

Разумеется серьезно! Ни чего лишнего, всё работает безупречно. Все эффекты безупречны и не перегружают страницы. И это всё при большой легкости страниц. А миллионы, о которых Вы говорите, как правило, напичканы всякой дрянью, не имеющей отношения к тематике сайта. В дизайне должна присутствовать сдержанность и элегантность.
Возможно я не в том Интернете лажу, дайте пяток ссылок на сайты с хорошим, по вашему мнению, дизайном. Возможно, я поменяю своё представление....
...
Рейтинг: 0 / 0
Загрузка содержимого в iframe
    #34836808
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Но я почему то уверен, что и с небольшими базами, на маленьком сайте, скорость запрос/ответ не изменится
во-первых платформа j2ee ориентирована как раз на большие проекты.
и большой проект гмейл и со своими огромными базами летает.

по поводу твоей "уверенности" молчу. если бы копал исходный код GWT (который благо открыт), а потом потестировал в маленьком проекте, тогда бы я еще понял откуда такая уверенность, а так это ничем не обоснованный наезд на неплохой программный продукт

кстати для тех кто еще не знает: правильное использование AJAX, ведет к увеличению быстродействия и уменьшению общего объема передаваемого трафика

насчет дизайна на mootools.net согласен, очень симпотишный сайтик в стиле Веб2.0. все совместимые браузеры перечислили со ссылками с большой буквы, а ие - без ссылки и с маленькой. зачот

PHPNoob
О_о 90% случаев когда кажется что в Firefox чтото глючит - это на самом деле кривые руки. люди, используйте окошки из YUI. пример

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Загрузка содержимого в iframe
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]