2013-08-30 8 views
1

Мне интересно, лучше ли загружать подстраницы с использованием PHP или JS. Пока я использую JS (jQuery, строго говоря), чтобы предоставить некоторые фантастические анимации загрузки, но этот метод имеет один серьезный недостаток - он не может изменить URL-адрес, чтобы пользователь не пользовался браузером назад и не может использовать URL-адрес точной подстраницы. Кроме того, я не уверен, что поисковые роботы распознают подстраницы на основе JS. Или, может быть, я ошибаюсь, и все это возможно с JS?Лучший способ загрузки подстраниц? PHP или JS?

Если нет, то что такое «правильный путь» для организации подстраниц в PHP? Должен ли я использовать фреймворки даже для небольших сайтов? До сих пор для этой цели я использовал только метод PHP include().

+2

Почему люди используют * оба *, если один из них явно превосходил все обстоятельства? Это похоже на вопрос, лучше ли пластик, чем сталь. –

ответ

1

Да JavaScript может обновлять URL-адрес браузера, но он работает только в браузерах, совместимых с HTML5.

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history

replaceState функция изменяет URL в браузере (нет кнопки назад); функция pushState выталкивает новый URL-адрес браузера, чтобы можно было использовать кнопку «Назад».

Пример:

history.pushState({}, 'Title', 'foo.html'); 

Это может помочь вам с вашей проблемой.

+0

nice, 'pushState' изменяет URL-адрес, но кнопка« Назад »по-прежнему бесполезна - она ​​не загружает предыдущую страницу, только изменяет URL-адрес обратно –

+0

@OverdrivenFall, вы можете читать https://developer.mozilla.org/en -US/docs/Web/Guide/DOM/Manipulating_the_browser_history # Пример тщательно. – stackunderflow

1

Хороший способ (лучший способ): использовать язык на стороне сервера (например, PHP) для шаблонов. Положите Javascript/jQuery поверх этого - чтобы у вас было лучшее из двух миров, фантастические анимации для пользователей с поддержкой javascript и все еще работающая страница в качестве резервной копии. Также есть плагины истории jQuery, которые позволяют создавать закладки/историю, отображаемые в браузере после загрузки ajax.

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

Что касается SEO в javascript-подходе, поисковые системы обычно не выполняют javascript. Однако они будут удобно индексировать файлы, которые вы втягиваете через javascript (я думаю, вы храните контент в текстовых файлах или html-файлах, которые будут проиндексированы).

0

Загрузка подстраниц с JS имеет смысл для динамического содержимого. Для статических страниц я бы рекомендовал использовать PHP.

Вам действительно не нужно использовать фреймворки, но не обязательно включать файл с использованием неконтролируемых переменных GET/POST (из соображений безопасности).

0

Метод, который я использовал, состоял в том, чтобы иметь подформы, написанные на PHP, и загруженные с помощью вызова AJAX, выполненного с помощью JQuery.

В действительности, AJAX называется ответчиком PHP и передал значение с именем формы. Форма была получена [с помощью include(...)] и полученный HTML-код с использованием буферизации вывода.

Макет папки я использовал:

lib 
| 
+-subforms 
| | 
| +-admin 
| | +-aform1.php 
| | +-aform2.php 
| | + : 
| | + aformn.php 
| | 
| +-client 
| | +-cform1.php 
| | +-cform2.php 
| | + : 
| | + cformn.php 
| 
+-supportFunctions.php 

, где lib относится к включают пути для приложения

Вызов АЯКС передается значение, выбранное в раскрывающемся списке, который коррелирует с формой имя для извлечения.

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