Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2

Валидатор выдает ошибку при проверке xhtml

02.09.2017, 23:39. Показов 1007. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот эту строчка
JavaScript
1
for (i = h_count_1; i >= 0; i-- )
валидатору не нравится, он сообщает "Check that you are using a proper syntax for your comments, e.g: <!-- comment here -->. This error may appear if you forget the last "--" to close one comment, and later open another. "
Как устранить ошибку?

Добавлено через 3 минуты
Валидатору не нравятся два минуса подряд (но там нужен именно - обратный цикл; через прямой цикл - проблемнее и дольше).
P.S. Только просьба: НЕ НАДО тут писать разную ахинею про то, что, мол, раз браузер принимает и обрабатывает нормально, то не надо "париться" (это можете говорить А. Лебедеву и его собратьям по разуму).
Да, браузер обрабатывает нормально. Но, я хочу, чтобы было полностью без ошибок.

Добавлено через 3 минуты
Это
JavaScript
1
 /* <!-- [CDATA [*/
и это
JavaScript
1
 /*]] --> */
есть.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.09.2017, 23:39
Ответы с готовыми решениями:

Сайт CodeWars при проверке решения выдаёт ошибку, при проверке в VisualStudio ошибки нет
Задача написать метод,который будет проверять порядок круглых скобок. Написал код, проверил в Visual Studio, всё нормально. ...

При проверке диска выдает ошибку 766f6c756d652e63 3f1
У меня возникла такая проблема. При включении компа на черном экране пишет Checking file system on C: The type of the file system is...

При проверке сайтом олимпиады программы, компилятор выдает ошибку
Сама задача. Вы пишете программу, задача которой заключается в анализе данных с биржи и принятии решений о покупке или продаже того или...

10
30 / 28 / 14
Регистрация: 06.01.2016
Сообщений: 161
03.09.2017, 10:37
А вас не смутило то что у вас JS как HTML проверяется ? Покажите код и какой валидатор используется ?
0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
03.09.2017, 11:56  [ТС]
Цитата Сообщение от andrey7287 Посмотреть сообщение
А вас не смутило то что у вас JS как HTML проверяется ?
Нет. У меня код JS в html файле находится. Вот код:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
 <title>Test</title>
 </head>
 <body>
 
<script type="text/javascript">
    /* <!-- [CDATA [*/
var i; var h_count_1 = 3;
   for (i = h_count_1; i >= 0; i-- ) {
           alert("Hello world");
    }
    /*]] --> */
</script>
 
</body>
</html>
Валидатор этот: http://www.w3.org/ (т.е. тот, который указан в параметре xmlns).
По идее, раз JS код заключен в раздел CDATA, вроде как, валидатор не должен проверять его.
Где-то на stackowerflow.com я читал, что два минуса подряд (--) валидатор воспринимает как часть ограничителя комментариев - и потому выдает ошибку, что, мол, ограничитель комментариев неверный.
Может, чтобы решить проблему, надо использовать что-то типа &*** (по аналогии замены & на &amp. Вот не знаю.
0
30 / 28 / 14
Регистрация: 06.01.2016
Сообщений: 161
03.09.2017, 14:16
Цитата Сообщение от Htext Посмотреть сообщение
тот, который указан в параметре xmlns
Уберите вообще это из разметки и вот это тоже

HTML5
1
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
И забудте про xhtml, есть просто html .
0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
03.09.2017, 16:58  [ТС]
Цитата Сообщение от andrey7287 Посмотреть сообщение
И забудте про xhtml, есть просто html
Цитата Сообщение от andrey7287 Посмотреть сообщение
Уберите вообще это из разметки и вот это тоже
Нет.
О преимуществах XHTML, малоценности новшеств в html5 писать здесь не буду, так как тема не о том. Кстати, уже есть XHTML5, если что.

Добавлено через 2 минуты
Ладно, видимо, придется выйти из положения, заключив JS-код в отдельный файл.js. Хотя, в моем случае это будет некий костыль.
Может, все же кто подскажет, как избавиться от сообщения об ошибке при валидации?

Добавлено через 1 час 5 минут
Вот решение ситуации:
JavaScript
1
2
3
4
5
6
7
  /* <!-- [CDATA [*/
var i; var h_count_1 = 3;
   for (i = h_count_1; i >= 0; i=i-1) 
    {
           alert("Hello world");
    }
    /*]] --> */
Как все просто. А причина - лишь в том, что я, как и многие (как минимум, те, кто смотрели мой вопрос, но ничего не ответили по существу), зомбировались на унарных операторах, даже не осознавая их смысла. А ведь унарный оператор -- представляет собой всего-то лишь оператор присваивания, уменьшающий значение переменной на 1.

Добавлено через 2 минуты
Конечно, остался лишь теоретический вопрос: почему, все-таки, валидатор два минуса подряд считает за ограничитель комментариев (вместо <!-- или -->). Видимо, там алгоритм такой.
0
30 / 28 / 14
Регистрация: 06.01.2016
Сообщений: 161
03.09.2017, 18:17
Ну вы уж слишком плохого мнения о окружающих. Я лишь посоветовал устранить причину а не следствие проблемы. Современные браузера всё равно это игнорируют и работают по стандарту. Но если вам это так принципиально, пожалуйста, пользуйтесь "преимуществами" xhtml .
0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
03.09.2017, 20:37  [ТС]
Цитата Сообщение от andrey7287 Посмотреть сообщение
Ну вы уж слишком плохого мнения о окружающих.
Не по теме:
Нет. Получив эту проблему, я сам, в первую очередь, споткнулся о свою зомбированность унарными операторами и рассуждал по привычке. Да, унарные - это удобно, немного меньше символов в коде. Но, когда к этому привыкаешь, то забываешь о том, что это - лишь иная форма записи тех же i=i+1 или i=i-1. Принято, типа, цикл делать "по стандарту" - ну, и сделал. Хотя, стоило лишь посмотреть в другую сторону - и оказалось, что проблема решилась просто. На самом деле, я так сказал, чтобы другие не замыкались, как я, на унарных операторах, а смотрели шире.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
04.09.2017, 13:51
Htext, странно называть "проблемой" в коде то, что некий валидатор ошибочно распознаёт как проблему. И что вы теперь совсем не будете пользоваться декрементом из-за бага валидатора? Странный вы всё-таки...
0
04.09.2017, 14:20

Не по теме:

Цитата Сообщение от Balanaar Посмотреть сообщение
Странный вы всё-таки...
Посмотрите его сообщения, мягко сказано странный ;) sass/less на _продакшн_ медленный потому и не юзает, FF24 (когда это было :pardon: ). Там много интересного...

0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
16.09.2017, 18:41  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
совсем не будете пользоваться декрементом из-за бага валидатора?
Нет, не буду, если JS будет содержаться в html файле, вместе с контентом. Ибо есть равноценный вариант. Кстати, вот еще как можно:
JavaScript
1
i  -=1
Впрочем, как я уже писал, если располагать JS код в отдельном файле - там валидатор ошибок не покажет. Там можно и
JavaScript
1
i--
Цитата Сообщение от Balanaar Посмотреть сообщение
Странный вы всё-таки...
Люблю четкость. Если это - странность, то лучше буду "странным", чем иметь страницы html со множеством некорректных мест. Раздражает, знаете, иногда. Когда страница то долго грузится, то некие сценарии там браузер закончить не может. Хотя мой вопрос - это мелочь, i-- на это не повлияет))
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
18.09.2017, 09:26
Цитата Сообщение от Htext Посмотреть сообщение
чем иметь страницы html со множеством некорректных мест
Ещё раз поясните: использование декремента в JS-коде, вшитом в HTML-файл, является некорректным? Вот это да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2017, 09:26
Помогаю со студенческими работами здесь

Найдите пожалуйста ошибку. Код на Pascal'e. При проверке постоянно выдаёт nekorrectnye dannye
program EMV_RZ_1; uses crt; var eps,x,a,b:real; function f(x:real):real; begin f:=3*x-4*ln(x)-5; end; function...

Валидатор выдает ошибку
Всем привет Столкнулся с проблемой Валидатор в этой строке &lt;p&gt;&lt;a href=&quot;#&quot;&gt;&lt;input class=&quot;btn&quot; type=&quot;submit&quot;...

Валидатор выдает ошибку в html коде
Помогите не проходит html код пишет * You forgot to close a tag, or * you used something inside this tag that was not allowed,...

Валидатор выдает ошибку element undefined
Доброго времени суток, Помогите разобраться и как исправить ошибку которую выдает валидатор: &quot;shr1&quot;- это шрифт текста...

Валидатор выдает ошибку - The element input must not appear as a descendant
Всем привет Столкнулся с проблемой Валидатор в этой строке &lt;p&gt;&lt;a href=&quot;#&quot;&gt;&lt;input class=&quot;btn&quot; type=&quot;submit&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru