powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Связь с главным окном.
14 сообщений из 14, страница 1 из 1
Связь с главным окном.
    #35250641
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую для загрузки file.htm в div главного окна, фрейм как буфер.
Как сделать, чтобы если пользователь запускает file.htm напрямую, а главное окно ещё не открыто, то сначало грузилась главное окно, а потом уже нужный файл?
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35250791
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверять как-н так
Код: plaintext
1.
2.
if(!parent || !parent.frames)
    location.href="index.html"
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35250906
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXERпроверять как-н так
Код: plaintext
1.
2.
if(!parent || !parent.frames)
    location.href="index.html"


А дальше то как?
index.html после проверки грузится, нужный файл - нет.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35250922
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS LINUXERпроверять как-н так
Код: plaintext
1.
2.
if(!parent || !parent.frames)
    location.href="index.html"


А дальше то как?
index.html после проверки грузится, нужный файл - нет.

Так Вы ж не сообщили форуму имя нужного файла.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35250943
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy

Повторю подробнее.
В главном окне есть:
<IFRAME id="bufferFrame" name="bufferFrame" onload="if (document.getElementById || document.all) parent.load()"...

Ссылка из главного <a href="file.htm" target="bufferFrame"...

Так всё работает. Функция load() копирует bufferFrame в div главного окна.

А когда пользователь вызывает file.htm напрямую, когда главное окно ещё не загружено, то не работает.

Проверку делал. Главное окно грузится, а содержание file.htm в div - не видно.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35250968
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй на страничке, которая ифраме проверять парент и в нужном случае его загружать. Ух, ёлки-палки, по-моему правильный ответ уже и так написали.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35250998
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy AIS LINUXERпроверять как-н так
Код: plaintext
1.
2.
if(!parent || !parent.frames)
    location.href="index.html"


А дальше то как?
index.html после проверки грузится, нужный файл - нет.

Так Вы ж не сообщили форуму имя нужного файла.

У меня в FF и parent и parent.frames всегда обпеделены, но
parent.frames.length == 0
Работает условие parent==self .

А так конкретно сказать по вашему посту и дополнительному разъяснению сложно,
почему не работает код,который расположен на моем компьютере?

Выложите ссылку - проверим, отладим, сами поучимся.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35251057
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот два файла в укороченном виде:
1.index.html:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<html>
<head>
<script language="JavaScript">
  function load(id) {
    if (!id) {id='test';}
    if (document.all) {
        document.all[id].innerHTML = parent.bufferFrame.document.body.innerHTML; }
    else if (document.getElementById) {
	document.getElementById(id).innerHTML = document.getElementById('bufferFrame').contentDocument.body.innerHTML;
        }
  }
</script>
</head>
<body>
<IFRAME id="bufferFrame" name="bufferFrame" style="display:none" src="about:blank" onload="if (document.getElementById || document.all) parent.load()"></IFRAME>
<a href="file.htm" target="bufferFrame">insert text</a>
<div id="test"></div>
</body>
</html>

2.file.htm:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<html>
<head>
<script language="JavaScript">
    if(!parent || !parent.bufferFrame) location.href="index.html"
</script>
</head>
<body>
Test
</body>
</html>

Вставляю, но грузится только index.html

Что не так?
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35251065
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А точнее (в IЕ) происходит так:
сначала вижу что загрузился file.htm, а потом index.html его затирает.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35251172
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я проверил в IE6 и FF.
Все работает как вы и написали.
Для index.html.
1 Загружается index.html c blank фреймом.
2 По ссылке загружается фрейм и его значение прcваивается DIV
Для file.htm
1. Загружается file.htm
2. перенаправляется на index.html и далее вне зависимости от того, что вы зашли сначала на file.htm
см. выше
1 Загружается index.html c blank фреймом.
2 По ссылке загружается фрейм и его значение прcваивается DIV

Я так понимаю, Вы хотите, чтобы после загрузки с file.htm index.html сразу загружал в iframe file.htm и присваивал его контент DIV?
Если это так, в файле file.htm необходимо сделать дополнительную пометку к адресу

if(!parent || !parent.bufferFrame) location.href="index.html ?from=file "

а в index.html разбирать это так

if (location.href.indexOf("?from=file")>-1)

Но учтите, что Ваш фрейм имеет в качестве адреса blank
Поэтому необходимо загрузить в него файл file.htm
Для этого необходимо или в самй разметке поставить src = file.htm
Или сделать это программно - я ж не знаю Ваших целей.
написать программно src = file.htm не для всех браузеров загрузится документ.
Для всех сработает (пишу по памяти - проверте меня)
href = file.htm

Мне не ясен Ваш вопрос.
вы пишите, что при загрузке c index.html и c file.htm занрузка работае по-разному, а она работает одинаково и ровно так как Вы написали.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35251543
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy...Я так понимаю, Вы хотите, чтобы после загрузки с file.htm index.html сразу загружал в iframe file.htm и присваивал его контент DIV?...
Абсолютно верно.
Сделал, как Вы советовали. Именно так теперь и работает, но с одним нюансом:
сначала таки грузится file.htm и лишь потом идет загрузка index.html и загружается в iframe file.htm и присваивается его контент DIV.

То что изменил в файлах:
1.index.html:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
...
function preload() {
  if (location.href.indexOf("?file1")>- 1 ){
    if (document.all) {parent.bufferFrame.document.location="file.htm";}
    else if (document.getElementById) {document.getElementById('bufferFrame').src="file.htm";}
    }
}
...
<body onload="preload()">
...

2.file.htm:
Код: plaintext
1.
if(!parent || !parent.bufferFrame) location.href="index.html?file1";

Как посоветуете исключить предварительную загрузку file.htm ?
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35251560
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно послать заголовок META c редиректом. Но тут я вам посоветовать не могу ничего, META я не использую. А так все загрузится. Есдинственное, можно попробовать взять в комментарии, чтобы не оторбражать. Комментариев должно быть несколько, чтобы не закрылись истиными комментариями.

if(!parent || !parent.bufferFrame) {
document.write("<!-- <!-- <!-- <!-- <!-- <!-- <!-- <!-- ");
location.href="index.html";
}
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35251722
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я конечно загнул с <!-- <!-- <!-- <!--
Больше одного работать не будет. Сорри.
...
Рейтинг: 0 / 0
Связь с главным окном.
    #35254765
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за помощь.
Вроде получилось так, как хотел.
Правда остался маленький "баг", но думаю, что уже сам разберусь.

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


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