2010-10-26 3 views
2

Я собираюсь создать веб-приложение (а не веб-презентацию), которое загрузит его содержимое через AJAX (jQuery) в конкретный div. Будет меню над div, и когда пользователь нажимает на элемент из меню, соответствующая страница будет загружена в главный div.Загрузка содержимого веб-приложения через AJAX

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

До сих пор я просил, чтобы кнопка браузера и история/URL-адрес исчезли.

ответ

3

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

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

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

http://yourdomain.com/home.aspx //loads its own content via AJAX 

    http://yourdomain.com/contact.aspx //loads its own content via AJAX 

    etc 

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

+0

Я использую библиотеку компонентов javascript, которая строит красивую, выглядящую макет приложения. Проблема в том, что когда я перехожу на любую другую страницу, мне нужно перестроить этот макет для текущей страницы. Там я думаю о загрузке контента через AJAX. – user137348

+0

Вот что я имел в виду под дополнительной информацией. Похоже, что это хорошая причина для использования AJAX, и идея идеи @ lonesomeday стоит посмотреть. Любая конкретная причина не применять RIA в Silverlight? –

+0

Любая конкретная причина не внедрять RIA в HTML/JS? :-) Разработчики в наших более знакомы с HTML/JS, и я прочитал эту статью http://codeclimber.net.nz/archive/2010/09/02/Is-Silverlight-becoming-a-niche-technology.aspx – user137348

1

Главный конкурент такого подхода сделает ваш сайт очень сложным для поиска в поисковых системах. Они не читают Javascript, поэтому ваш контент не будет отображаться или индексироваться ими. Попробуйте сделать progressive enhancement, чтобы они (и все пользователи, которые не используют Javascript, например, экранные ридеры) не отстают.

С другой стороны, вы можете сохранить функциональность браузера. Это можно сделать, используя хеш URL-адреса, например. http://www.example.com/#home vs http://www.example.com/#about-us. Самый хороший способ сделать это, чтобы получить hashchange plugin Бен Alman и затем использовать hashchange событие:

$(window).hashchange(function(){ 
    var location = window.location.hash; 

    //do your processing here based on the contents of location 
}); 

Это позволит пользователям использовать функцию истории и функцию закладок своих браузеров. Дополнительную информацию см. В документации на своем сайте.

+0

Благодарим за отзыв. Приложение будет RIA-приложением, которое использует инфраструктуру компонентов javascript, поэтому не будет пользователей без JS :-) Плагин hashchange выглядит очень интересно, я определенно посмотрю на него. – user137348

+0

@user Если вы строите RIA, вас может заинтересовать старший брат плагина hashchange [BBQ] (http://benalman.com/projects/jquery-bbq-plugin/), который позволяет хранить лоты информации в 'location.hash'. – lonesomeday

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