Какая конфигурация HTML / CSS / Javascript на данный момент является наилучшей?
-
18-09-2019 - |
Вопрос
Я все больше разбираюсь в jQuery и поэтому создал Базовый сайт на HTML/Javascript/CSS который я использую для всех своих тестов.
Поскольку эти тесты в конечном итоге превратятся в PHP и ASP.NET MVC веб-сайты, я хочу воспользоваться этой возможностью, чтобы еще раз разобраться с основами современных браузеров и веб-стандартов, прежде чем создавать языки сценариев поверх этого.
Я решил использовать:
- XHTML 1.0 Строгий
- UTF-8 кодирование
- как можно меньше ссылок на CSS (поместите все в 1 CSS-файл для скорости загрузки)
- как можно меньше ссылок на Javascript (1 файл javascript плюс ссылка на базу кода jquery - я предполагаю, что использование Google Кодовая база jQuery - лучшая практика для повышения скорости)
- Я проверяю свой код по мере его создания с помощью http://validator.w3.org
Есть ли что-нибудь еще, что мне нужно рассмотреть?
Вот пример одного из моих тестовых сайтов:
index.htm:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<title>Text XHTML Page</title>
<link href="css/main.css" rel="stylesheet" type="text/css" media="all"/>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="javascript/main.js"></script>
</head>
<body>
<h1 class="highlightTitle">Text</h1>
<p class="main">First</p>
<p>Second</p>
<p id="selected" class="regular">Third</p>
<p>Fourth</p>
<form action="">
<div>
<input type="button" value="highlight it" onclick="highlightIt();countThem()" />
<input type="button" value="highlight title" onclick="highlightTitle()" />
<p>here is another paragraph</p>
</div>
</form>
</body>
</html>
main.cs:
p.highlighted {
background-color:orange;
}
h1.highlightTitle {
background-color:yellow;
}
h1.deselected {
background-color:#eee;
}
p.regular {
font-weight: bold;
}
main.js:
google.load("jquery", "1.3.2");
function highlightIt() {
$('#selected')
.toggleClass('highlighted');
}
function countThem() {
alert("there are " + $("p.main").size() + " paragraphs");
}
function highlightTitle() {
$("h1").toggleClass("deselected");
}
Решение
Лично я бы привязался к событию click через jQuery, чтобы обеспечить хорошее разделение, вот так:
$("#yourId").bind("click", highlightIt);
Таким образом, вы можете привязываться к нескольким обработчикам событий.Если вы просто используете onclick AFAIK, вы можете использовать только один обработчик.
Кстати, вы также можете использовать пользовательские события и пространства имен event:
$("#yourId").bind("beforeHighlighting", doSomething);
запускается с помощью
$("#yourId").trigger("beforeHighlighting");
и
$(".hasAHelptext").bind("helptext.click", showHelptextFct);
$(".hasAHelptext").bind("click", otherFct);
// will only remove the showHelptextFct event handler
$(".hasAHelptext").unbind("helptext.click");
HTH Алекс
Другие советы
Переместите <script>
блоки к нижняя часть страницы.
Что касается CSS и JS-файлов в целом, я бы не стал объединять все JS-файлы в один файл во время разработки.Становится очень сложно разрабатывать в одном большом JS-файле.Скорее используйте модуль, который объединяет их "на лету" или во время развертывания.
Обычно я использую (как CSS, так и JS):
один общий файл:
- проект.css
и по одному на страницу:
- проект_welcome.css
и все специальные компоненты (элементы управления входом в систему, просмотры рекламных зон и т.д.) Также имеют отдельный компонент.
Таким образом, вы сможете применить некоторые методы организации и не сойдете с ума, управляя этим одним большим файлом.
HTH Алекс
Я бы рекомендовал размещать вызовы JS под тегом body.Если ваши скрипты зависают, страница может загрузиться и позволить поведению (JS) загрузиться постфактум.Я заметил, что при использовании этого метода скорость значительно увеличивается.
Проверь это: http://stevesouders.com/hpws/rule-js-bottom.php