document type does not allow element "body" here @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 27 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: document type does not allow element "body" here
Сообщение Добавлено: 9 Февраль 2008, 04:03:33 
почему валидатор выдает эту ошибку?

http://validator.w3.org/check?uri=http% … ne&group=0

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 9 Февраль 2008, 04:51:18 
Проблема разрешена, структура документа должна быть такой:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Welcome to eStore Printing!</title>
        <meta content=""></meta>
    </head>
    <frameset>
        <frame src="index.html" />
    </frameset>
</html>


Еще вопрос:
если у меня в XHTML документе есть iframe и я хочу пройти валидацию, мне обязательно нужно иметь:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

и соответственно вышеуказанную структуру?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 9 Февраль 2008, 11:46:36 
AlexShop, а попробовать самому?
И нам потом расскажете.
Какая задача потребовала от вас фреймы?

_________________
клетчатый!
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 9 Февраль 2008, 13:30:10 
AlexShop, кстати да, зачем iframe?
Кстати, в коде я увидел, как-то резануло id="body" и cllass="body", хотя в css такого id не обнаружил.

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 9 Февраль 2008, 17:04:16 
karamba, tentoys

В том то и дело что с фреймами я никогда не работал, и наслышался про них мало хорошего (незнаю правда это или нет?).

Но iframe использую что бы крутить отзывы в окошечке "Testimonials" (нажмайте на белые стрелки).
Почему iframe? Что б страница не дергалась, скрол не уходил вверх, без JavaScript.

Ну вот валидацию iframe не проходит с XHTML Strict DTD
Приходится брать XHTML Frameset DTD и соответственно <frameset> теги.

незнаю хорошо это или плохо?

-----
спасибо, гляну что у меня там с "id"="body" и class="body"

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 9 Февраль 2008, 19:20:09 

AlexShop писал(а):
Но iframe использую что бы крутить отзывы в окошечке "Testimonials" (нажмайте на белые стрелки).


А просто создать див для testimonials заданных размеров и свойством overfow:scroll, разве не проще? Тем более дать этому диву свой id, чтобы отзывы формировались в него...

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 9 Февраль 2008, 19:53:54 
tentoys,
а как формировать отзывы, с помощью JavaScript ?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 9 Февраль 2008, 20:14:11 
AlexShop, а как вы формируете отзывы для iframe-a?

_________________
клетчатый!
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 9 Февраль 2008, 20:35:34 
Я убрал не относящиеся к делу теги и аттрибуты. Грубо говоря так:
Код:
<map>
   <area href="index.php?move=previous" target="testimonials"></area>
   <area href="index.php?move=next" target="testimonials"></area>
</map>
<iframe name="testimonials" src="index.php">
(без JavaScript)
index.php - читает все файлы из директории где отзывы лежат и показывает нужный, в зависимости от переменной "move"

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 9 Февраль 2008, 21:23:18 
AlexShop, ну и вместо
Код:
<iframe name="testimonials" src="http://www.estoreprinting.com/new/public_html/includes/testimonials/index.php"></iframe>

напишите что-нибудь, типа,
Код:
<div id="testimonial">
<? include("/pub/home/includes/testimonials/index.php"); ?>
</div>

или какой там абсолютный путь.

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 9 Февраль 2008, 21:51:02 
tentoys,
тогда с каждым кликом вся страница будет рефрешиться, и перемещаться в самый вверх.
Я думаю у меня самый простой (без JavaScript надобности) вариант.

Я только удивляюсь что для использования iframe надо прописывать XHTML Frameset DTD и соответственно использовать <frameset> тэги.

Вообще какие нибуть проблемы могут быть возникнуть изпользуя <frameset> ?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 9 Февраль 2008, 22:04:19 

AlexShop писал(а):
тогда с каждым кликом вся страница будет рефрешиться, и перемещаться в самый вверх


Чевой-то? А попробовать? :dandy:

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 9 Февраль 2008, 22:08:42 
tentoys,
а как прокручивать отзывы, не рефреша страницу?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 9 Февраль 2008, 22:10:44 
AlexShop, так index.php на что? Они ж в нём формируются, на стороне сервера, юзер лишь получает конечный резульат. Я не понимаю, в чём разница (я привёл строчки), между ифреймом и дивом? ;)

_________________
Keep in touch. Andrey Alexeev.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 9 Февраль 2008, 22:14:38 

AlexShop писал(а):
а как прокручивать отзывы, не рефреша страницу?


без джаваскрипта — боюсь никак.

_________________
клетчатый!
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 9 Февраль 2008, 22:26:40 
tentoys,
ну не юзабельно :wink:
Отзывы в самом низу (надо скролить).
И при каждом прокручивании - страница будет прыгать и опять надо будет скролить вниз.

эх, попробую все таки <frameset> ради науки.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 10 Февраль 2008, 01:11:54 

AlexShop писал(а):
ну не юзабельно :wink:
Отзывы в самом низу (надо скролить).
И при каждом прокручивании - страница будет прыгать и опять надо будет скролить вниз.


Тогда я туплю, бо не понимаю, почему при той же архитектуре, ну, скрип, отзывы, подстановке того же index.php, в ифрейме прыгать не будет, а в диве будет? К тому же можно просто инклюдить index.php, который в себе будет содержать див с заданным id (а в css ему будут соответствовать необходимые параметры размеров, положения и т.д.) и выходные данные комментариев...

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 10 Февраль 2008, 02:23:02 
tentoys,
давай с самого начала (а то я запутался).

Глянька сюда:
http://www.estoreprinting.com/new/public_html/

Прокрути вниз до "Testimonials" и понажимай на белые стрелки:
отзывы прокручиваются и страница не дергается (скролл стоит на месте).

Ты хочешь сказать что такое можно сделать без <iframe> и JavaScript
и страница не будет дергаться ?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 10 Февраль 2008, 02:50:40 
AlexShop, давай :)
Код:
<!-- {{{ panelTestimonials -->
                    <map name="testimonials" id="mapTestimonials">
                        <area shape="rect" coords="264,0,281,26" href="http://www.estoreprinting.com/new/public_html/includes/testimonials/index.php?move=1" target="testimonials" alt="Previous"></area>
                        <area shape="rect" coords="282,0,299,26" href="http://www.estoreprinting.com/new/public_html/includes/testimonials/index.php?move=2" target="testimonials" alt="Next"></area>
                    </map>
                    <div id="panelTestimonials">
                        <div class="header"><img src="http://www.estoreprinting.com/new/public_html/images/common/panels/testimonials/header.png" usemap="#testimonials" alt="Why it is so easy?" /></div>
                        <div class="body">

                            <iframe name="testimonials" src="http://www.estoreprinting.com/new/public_html/includes/testimonials/index.php"></iframe>
                        </div>
                        <div class="footer"><img src="http://www.estoreprinting.com/new/public_html/images/common/panels/testimonials/footer.png" alt="Why it is so easy?" /></div>
                    </div>
                    <!-- }}} panelTestimonials -->

В этом коде строчку <iframe>blah-blah-blah</iframe> нельзя заменить на
Код:
<div id="supertestimonial">
<? include("/pub/home/includes/testimonials/index.php"); ?>
</div>

Только её, а размеры дива задать, исходя из размеров iframe (они в css заданы? я не смотрел)

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 10 Февраль 2008, 03:07:29 
tentoys,
При клике на линк - вся страница обновится. Да?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 10 Февраль 2008, 04:08:36 
To all
Вот где я по настоящему ступил:
При использовании <iframe> не надо использовать XHTML Frameset DTD,
а надо использовать XHTML Transitional DTD

В XHTML Strict DTD тэг <iframe> убрали. Потому что есть более универсальный тег <object>.

Тег <object> может работать также как <iframe> и он валидный в XHTML Strict DTD

Более подробно написано здесь (под заголовком: IFRAME vs OBJECT):
http://www.w3.org/TR/WD-frames-970331

Но использовать "target" к <object> мне пока не удается (и пример из документации не работает):
Код:
<BODY>
  <P>This document contains an inline frame
  <OBJECT id="iframe" width=400 height=500></OBJECT>
  in which you can choose to see various documents. These are:
  <UL>
  <LI><A target="iframe" href="http://www.sgmlopen.org/">
       SGML Open Home Page</A></LI>
  <LI><A target="iframe" href="http://www.w3.org/">
       W3 Consortium Home Page</A></LI>
  </UL>
</BODY>


Кстати в версии XHTML 2: тег <img> заменили на <object>
То есть выходит что <object> - будет универсальный тег для вставки картинок, страниц, апплетов и т.д.

Более подробно написано здесь:
http://www.xml.com/pub/a/2003/07/02/dive.html

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 10 Февраль 2008, 12:07:25 

AlexShop писал(а):
tentoys,
При клике на линк - вся страница обновится. Да?


Не вся, а index.php с параметром move=1, 2, 3, и т.д. Как это сейчас, в случае с iframe происходит, что поменяется, интересно.

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 10 Февраль 2008, 17:05:24 
tentoys, конечно вся страница обновится.
include - ничего не изменит.
Браузер даже понятия не имеет, что там был include.
Потому что браузеру передается чистый HTML.

Попробуй сам написать простейший пример и убедишься в этом.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 10 Февраль 2008, 17:57:08 

AlexShop писал(а):
include - ничего не изменит.
Браузер даже понятия не имеет, что там был include.
Потому что браузеру передается чистый HTML.
Попробуй сам написать простейший пример и убедишься в этом.


Не понял... вот пример, страница, на которой можно посмотреть тексты песен.
Попробуй, потыкай в названия треков слева, увидишь, меняется содержимое дива, в котором есть текст, но сама страница не рефрешится... конечно, браузеру передаётся чистый хтмл, замены происходят на стороне сервера. Также и с testimonials можно поступить, move1, move2, move3, передают в див соответствующий отзыв.
Если инклюд ничего не меняет, то зачем он у тебя в ифрейме? :confused:

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 10 Февраль 2008, 23:31:45 

tentoys писал(а):
Попробуй, потыкай в названия треков слева, увидишь, меняется содержимое дива, в котором есть текст, но сама страница не рефрешится

Страница рефрешится каждый раз при клике. Это не заметно, потому что там нет скролла.
Если запретить CSS (Web Developer - Firefox Add-on) - то со скроллом это будет видно.
Также можно очистить кеш броузера, и видеть как вся страница грузится.


tentoys писал(а):
Если инклюд ничего не меняет, то зачем он у тебя в ифрейме?

Где ты увидел на моем сайте функцию include()?

Изменить содержимое дива не обновляя страницу можно с помощью JavaScript.
PHP, include() - здесь вообще не причем.

tentoys, попробуй сам сделать пример того что предлагаешь - и поймешь почему это не возможно и не надо этого хотеть.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 11 Февраль 2008, 20:45:22 

AlexShop писал(а):
Где ты увидел на моем сайте функцию include()?
Изменить содержимое дива не обновляя страницу можно с помощью JavaScript.
PHP, include() - здесь вообще не причем.


Да, стормозил я конкретно, мысль вобще не в ту сторону пошла. Виноват.
Вопрос: где и как расположены отзывы: в одном файле все или по одному в разных и с какими названиями? just wondering, поэкспериментирую...

_________________
Keep in touch. Andrey Alexeev.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 12 Февраль 2008, 04:41:27 
tentoys, :beer:

------------
Ну все, поставил себе XHTML Transitional DTD, и сайт стал полностью валидным.
Если ставить XHTML Strict DTD , то тэг <iframe> надо заменить на <object>.
Что в принципе работает, кроме атрибута target, к примеру:
Код:
<a href="index.html" target="iframe1"><iframe name="iframe1">
С тэгом <object> такая связка не работает.
Несмотря на пример из документации на http://www.w3.org/TR/WD-frames-970331 (см. раздел IFRAME vs OBJECT)
:confused:

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 27 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100