Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Ссылка на фрейм (https://javascript.ru/forum/events/4435-ssylka-na-frejjm.html)

Sergey_New 21.07.2009 23:57

Ссылка на фрейм
 
Есть страница с фреймами:
<html>
<head>
<title></title>
</head>
<script type="text/javascript">
    document.frames.main.document.write("<html><head></head><body></body></html>") 
</script>
<frameset cols="15%,85%">
	<frameset rows="94%,*">
		<frame name="contents">
		<frame name="coord">
	</frameset>
	<frame name="main">
</frameset>
</html>

Указанный скрипт не работает. Как правильно записать?

B~Vladi 22.07.2009 11:50

Цитата:

Сообщение от Sergey_New
Как правильно записать?

Скрипт в конце файла... Когда он выполняется - фреймов ещё не существует...

Sergey_New 22.07.2009 12:15

B~Vladi, если так:
<html>
<head>
<title></title>
</head>
<frameset cols="15%,85%">
    <frameset rows="94%,*">
        <frame name="contents">
        <frame name="coord">
    </frameset>
    <frame name="main">
</frameset>
<script type="text/javascript">
    document.frames.main.document.write("<html><head></head><body></body></html>") 
</script>
</html>

то скрипт вообще не выполняется.

B~Vladi 22.07.2009 12:17

ты body забыл;)

Sergey_New 22.07.2009 12:37

Слушай, а где во фреймах вставить body?

B~Vladi 22.07.2009 12:44

а, блин туплю... Во фреймах вообще не надо body. Тег FRAME - это и есть body.
Вобщем попробуй так
<html>
<head>
<title></title>
</head>
<frameset cols="15%,85%">
    <frameset rows="94%,*">
        <frame name="contents"></frame>
        <frame name="coord"></frame>
    </frameset>
    <frame name="main"></frame>
    <script type="text/javascript">
        document.frames.main.innerHTML='test';
    </script>
</frameset>
</html>


ЗЫ: фреймы - зло.

Sergey_New 22.07.2009 12:48

Результата нет :(
Скрипт не выполняется

B~Vladi 22.07.2009 12:55

Цитата:

Сообщение от Sergey_New
Результата нет

Я же говорю - зло;)
Значт делай так
<html>
<head>
<title></title>
</head>
<frameset cols="15%,85%" onload="document.frames.main.innerHTML='test';">
    <frameset rows="94%,*">
        <frame name="contents"></frame>
        <frame name="coord"></frame>
    </frameset>
    <frame name="main"></frame>
</frameset>
</html>

Sergey_New 22.07.2009 13:02

Зло победить-то хочется.
Скрипт выполняется, но 'test' не появляется.

B~Vladi 22.07.2009 13:15

Ппц... сегодня я чет торможу...
Вобщем, если вы заключили это всё во frameset, фреймы должны содержать src на другие документы, а не иметь разметку. Если делать iframe, скрипт будет работать.
Если хотите обращатся к фрейму из верхнего окна, то коллекция frames - это свойство window, а не document.


Часовой пояс GMT +3, время: 23:37.