Ошибки проверки разметки W3C

0

Я пробовал проверку W3C Markup с помощью простой HTML-страницы.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Title</title>
    <script src="script/myScript.js" type="text/javascript"></script>
    <link href="style/theme.css" rel="stylesheet"></link> 
     <!--[if lte IE 8]>
    <link href="style/themeIE8.css" rel="stylesheet"></link>
    <![endif]-->     
    <noscript>Please enable JavaScript in your browser to view this page properly, to view the basic page of the site click the link <a href="no-javascipt/main.aspx">main.aspx</a>
   </noscript>

</head>
<body class="layout">
   <div class="header"></div>
   <div class="content"></div>
   <div class="footer"></div>
</body>
</html>

и получили следующие ошибки

Изображение 174551

Я предполагаю, что в noscript тег (или вообще в самой голове тега) с использованием элементов DOM, как не в порядке, Есть ли альтернатива этому? a т.е. если скрипт не найден, укажите ссылку на страницу, которая не нуждается в скрипте

и любая идея относительно того, почему я получаю ошибки для тегов link & body? благодаря

Теги:
w3c-validation
noscript

2 ответа

5
Лучший ответ

тег link не имеет тега close, </link>. Таким образом, он недействителен. Если вы хотите закрыть его в строке, сделайте это так:

<link ... />

Кроме того, вы должны переместить свой <noscript> тега внутри body тега и между head тегом, поскольку он содержит текстовое содержимое.

Справка

Ссылка на сайт


Хотя, используя что - то вроде этого является действительным, если вы поместите в head метке 1.

<noscript><link href="style/theme.css" rel="stylesheet" /></noscript>

1. В элементе head, если скрипт отключен для элемента noscript
Элемент noscript должен содержать только link, style и meta элементы.

В элементе head, если скрипт включен для элемента noscript
Элемент noscript должен содержать только текст, за исключением того, что при вызове алгоритма синтаксического анализа фрагмента HTML элемент noscript является элементом контекста и текстовым содержимым, так как вход должен содержать список узлов, которые состоят только из link, style и meta элементов, которые будут соответствовать, если они являются noscript элементами элемента noscript и не содержат ошибок разбора.

Правильная разметка

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Title</title>
    <script src="script/myScript.js" type="text/javascript"></script>
    <link href="style/theme.css" rel="stylesheet" />
     <!--[if lte IE 8]>
    <link href="style/themeIE8.css" rel="stylesheet" />
    <![endif]-->     
</head>
<body class="layout">
<noscript>Please enable JavaScript in your browser to view this page properly, to view the basic page of the site click the link <a href="no-javascript/main.aspx">main.aspx</a>
   </noscript>
   <div class="header"></div>
   <div class="content"></div>
   <div class="footer"></div>
</body>
</html>
  • 4
    Удалите </link> из if lte IE 8 .
  • 0
    @hallaji спасибо, что указал на это, я просто пропустил это :)
Показать ещё 2 комментария
0

Проверьте ссылку стиля, которая неверна. Ссылка стиля должна быть закрыта. т.е.

<link href=".."  rel="stylesheet" />

и потому что написанный текст не связан стилем или скриптом, поэтому он должен находиться под тегом body.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню