Помогите с валидацией кода

Тема в разделе "Другие языки", создана пользователем arman29, 3 дек 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. arman29

    arman29 Генератор идей

    Moderator
    • Супермодератор
    Регистр.:
    30 июн 2008
    Сообщения:
    1.235
    Симпатии:
    654
    HTML:
     <script type="text/javascript">
      theTime = new Date();
      theHour = theTime.getHours();
      if(theHour>8&&theHour<22){ 
       document.write('<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/night-day/css/day.css" type="text/css" />');
      }
      else{
       document.write('<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/night-day/css/night.css" type="text/css" />');
      }
      </script>
    При валидации выдаёт много ошибок, а этот рабочий скрипт переключения css стилей по времени суток.
     
  2. Mr.Emm

    Mr.Emm Постоялец

    Регистр.:
    5 май 2008
    Сообщения:
    144
    Симпатии:
    107
    следуй инструкциям валидатора, может быть ему не нравится document.write.. тогда попробуй вставлять стиль через ...setAttribute('href','путь')
     
  3. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    валидации чего? пхп кода или джаваСкрипта ?
    валидации где и в чем?

    >>При валидации выдаёт много ошибок, а этот рабочий скрипт переключения css стилей по времени суток.

    дык может следует показать эти "много ошибок" а то называется а угадайте какую ошибку выдает

    да и валидация обычно происходит по каким-то стандартам кода
    может вы делает валидацию не потому что у вас используется?
    к примеру есть css 1 css 2 css 3, в современном браузере работать будет любой ... ну а вот есть делать "валидацию" по 1 а в действительности использовать другой - то будут ошибки ...
     
  4. arman29

    arman29 Генератор идей

    Moderator
    • Супермодератор
    Регистр.:
    30 июн 2008
    Сообщения:
    1.235
    Симпатии:
    654
    ok! Вот выделил так же красным.
    1.if(theHour>8&&theHour<22){
    2.if(theHour>8&&theHour<22){
    3.if(theHour>8&&theHour<22){
    4.rel="stylesheet" href="/templates/night-day/css/day.css" type="text/css" />');

    Складывается впечатления,что весь скрипт неверно написан.
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Для валидации используется офф сервис: http://validator.w3.org/
    Но кто сказал, что он применим к JS? Судя по тем подсказкам, которые он предложил для исправления ошибок, JS он воспринял как HTML ...
    В отдельный файл вынеси свой код и будет тебе счастье:
    HTML:
    <head>
    	<script type="text/javascript" src="/valid.js"></script>
    Хотя с учетом php-вставок придется valid.php вызывать.
     
  6. arman29

    arman29 Генератор идей

    Moderator
    • Супермодератор
    Регистр.:
    30 июн 2008
    Сообщения:
    1.235
    Симпатии:
    654
    Вынес в отдельный файл valid.js...прописал пути и все такое... в итоге, шаблон полностью съехал

    кто еще сможет помочь???

    p.s. в javascript'e не силен! может дело в нем
     
  7. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    переименуй в valid.php
    HTML:
    <script type="text/javascript" src="/valid.js"></script>
    замени на
    Код:
    <script type="text/javascript" src="/valid.php"></script>
    должно помочь
     
  8. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    перед и после && пробелы поставил в строке
    Код:
    if(theHour>8 && theHour<22){ 
    
    и работает
     
  9. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    для того чтобы JS не считался куском HTML-а, его надо оборачивать в блок CDATA
     
  10. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    А ты проверил? Я не поленился создал страничку, проверил - валидатор ругается кучу раз...

    Добавлено через 3 минуты
    Если обернуть всю конструкцию
    HTML:
    <script type="text/javascript">
    ...
    </script>
    то это все выведется на экран как текст, если только то, что внутри то скрипт не исполняется и на страницу ничего не выводится. Поясни, что имелось ввиду.
     
Статус темы:
Закрыта.