2012-02-14 3 views
1

Я делаю веб-сайты самостоятельно в течение нескольких месяцев, и хотя я понимаю концепцию добавления Javascript на сайт, я действительно борется с тем, как лучше всего это сделать и вам понравится некоторые опытные мнения разработчиков/советы.Добавление Javascript на веб-сайт

Я прочитал бесчисленное количество раз о том, что лучше всего создать простой сайт, а затем добавить Javascript. Таким образом, сайт будет работать практически независимо от того, что. Это отличная идея для таких вещей, как анимация, в основном, Javascript, который действует на странице.

Но если у вас есть сайт с созданным сервером контентом. И скажите, что чтобы сократить время загрузки на ваших страницах, вы хотели бы, чтобы часть вашего контента загружалась через вызовы ajax. Как вы собираетесь добавить это на сайт?

Насколько я понимаю, вы не можете знать на сервере, включен ли ваш Javascript или отключен, когда страница обновляется ... поэтому вы не можете оставить контент на сервере. Но если вы отправите все это клиенту, вам больше не понадобится ajax на странице.

Как вы обычно это делаете в этом случае? Вы создаете ссылки и версии и сигнализируете серверу, какая версия загружается таким образом? Но это все еще не говорит вам, будут ли активированы скрипты при обновлении или нет ...

Или вы просто делаете как facebook и ebay и игнорируете пользователей со скрытыми сценариями?

+3

Возможно, [webmasters] (http://webmasters.stackexchange.com/) станет лучшим форумом для этого вопроса. –

+3

Google «прогрессивное совершенствование». Вы найдете бесконечные статьи, обсуждая это. –

ответ

1

JavaScript добавляет такой большой потенциал, что иногда неразумно сосредоточить стольких усилий на создание сайта, который отлично работает для немногих пользователей, у которых это отключено.

Как правило, на этапах планирования сайта я определяю, какие функции нужны и какие функции - это просто улучшения, такие как анимация или динамическая загрузка контента. Я поставил failafes на место для размещения потребностей, ограничивая остальную часть контента посетителями с включенной поддержкой JS.

Я строю свои сайты таким образом, что все необходимые материалы все еще доступны для всех так или иначе, но когда дело доходит до «дополнительных», которые требуют JavaScript, я не собираюсь тратить свое драгоценное время питание от менее 1% моих посетителей.

+0

Спасибо, много полезного материала здесь, но ваш самый близкий к предоставлению ответов. –

0

1) Лично я бы игнорировал людей без javascript.

2) Загрузка веб-частей - это личный аромат, поэтому до вас, если вам нужен хардкорный режим, однако при загрузке разных веб-частей потенциально могут быть конфликты с именами переменных/id/class, поэтому будьте осторожны с ними.

+1

игнорирование людей без javascript - плохая идея, если только вы не фокусируетесь только на взаимодействии; контент должен быть доступен независимо от – Hawken

+0

Возможно, я должен переписать его, чтобы не тратить много времени на пользователей, не являющихся js. Или сообщите им, что сайт требует JS. –

+0

Если игнорировать людей без javascript - это плохая идея для вас, вы, вероятно, захотите также поддержать ie6. Зависит от того, сколько времени у вас есть, на каких пользователей вы нацеливаете, насколько идеальным вы хотите, чтобы сайт был. –

1

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

Но если вы должны поддерживать эти типы пользователей, то популярная практика «перехватывать» html-ссылки/кнопки при нажатии и загрузке через ajax. Если у пользователя нет javascript, кнопка link/будет действовать как обычно.

Этот тип понятия «перехват» покрыт прогрессив-аксессуар концепции.

+0

Прогрессивное улучшение ... Я знал, что я не искал правильную вещь. Я посмотрю. Благодарю. –

1

Визуально, по крайней мере, всегда кажется, что AJAX-загрузка будет чувствовать себя медленнее (с технической стороны это имеет смысл, поскольку использует другой запрос GET).

Javascript следует зарезервировать для интерактивной загрузки содержимого, не предварительно загружая весь ваш контент.

Если вы действительно хотите, чтобы я могу только рекомендовать предварительную загрузку изображения, но не содержание других «страницы»

1

Я бы прислушался к совету Майка Самуэля, поскольку StackOverflow, вероятно, не лучшее место, чтобы задать такой вопрос.

Во-первых, вы должны спросить себя, какова будет природа вашего веб-сайта. Опираясь на Javascript, редко бывает хорошей идеей, так как вы будете закрывать некоторых из ваших потенциальных зрителей (к счастью, меньше каждый день). В таких веб-приложениях, как Gmail, это имеет смысл, но вы никогда не должны требовать, чтобы ваши зрители позволяли Javascript делать что-то существенное для функции сайта.

Также важно знать различные доступные технологии и их место в разработке веб-сайта. Конечно, большой 3 являются:

  • HTML: Содержание
  • CSS: Презентация (это, вероятно, где вы хотите использовать анимацию (если только это не важно), а не Javascript)
  • Javascript: Взаимодействие

Хотя редко практикуется, я бы советовал сделать ваш сайт полностью работоспособным, не используя CSS, Javascript или что-нибудь еще, а затем приступать к добавлению этих технологий. Это почти верный способ убедиться, что каждый может по крайней мере просматривать ваш контент.

0

Подсчитайте пользователей, у которых есть поддержка javascript, однако не разрешает открывать отверстия для безопасности тем, кто отключит javascript. Редактировать для @Hawken: Кроме того, не делайте контент, который обычно будет видимым для пользователя недоступным, если javascript отключен.

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

Javascript может использоваться для упрощения создания динамического содержимого или его перекрытия на странице.

AJAX отлично подходит, если вы хотите запросить сервер и вернуть данные без обновления всей страницы. Есть и другие способы сделать это, но они обычно включают рамки.

AJAX также хорошо, когда вы хотите, чтобы динамически загружать скрипты или другие данные, такие как разделы страницы из удаленных мест (тот же домен или из других областей - другие домены могут стать сложными.)

Как правило , использовать javascript для улучшения просмотра на стороне клиента.

+0

Конечно, эти рамки обычно используют xmlhttprequest в любом случае;) –

+0

@JeffreySweeney - Да :) Я также говорил о структурах на стороне сервера. В asp.net mvc вы можете создавать частичные представления, которые могут реально перерисовываться без перезагрузки страницы. –

Смежные вопросы