#javascript #php #jquery #back
#javascript #php #jquery #Назад
Вопрос:
Я пытался найти решение по всему Интернету, и я не вижу никакого решения, которое применимо к моей проблеме.
У меня есть веб-сайт в стиле каталога: ссылка здесь
И у меня также есть кнопка «Назад» на каждой странице. На данный момент кнопка отправляет пользователя обратно на домашнюю страницу, но я хочу вернуться на родительскую страницу.
Например, если пользователь находится здесь «site.com/page/subpage «, и они нажимают на кнопку «Назад», она должна отправить их на «site.com/page «.
Я не нашел никакого решения для этого. Я готов использовать jQuery или PHP.
Я был бы очень признателен за помощь в этом вопросе.
Заранее спасибо,
Бруно
РЕДАКТИРОВАТЬ: моя цель — НЕ использовать «историю назад», потому что, если пользователь не приходит с родительской страницы или если он приходит с любого другого сайта, он отправит их обратно туда. Я не хочу этого, я хочу, чтобы это была кнопка «перейти на родительскую страницу».
РЕДАКТИРОВАТЬ 2: Теория: моя теория заключалась бы в том, чтобы получить весь URL-адрес с:
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
и обрежьте его, удалив последнюю часть. Например, удаление «/ subpage» из «site.com/page/subpage «
Комментарии:
1. Ответ @RasulIslam является лучшим для этого случая, поскольку он использует встроенные функции PHP. Кроме того, такая функция называется «хлебные крошки». Поиск по этой фразе должен привести к гораздо более интересным результатам. 🙂
Ответ №1:
Попробуйте (javascript):
var url = window.location.href.split('/');
url.splice(url.length-1,1);
var pUrl = url.join('/');
window.location.href = pUrl;
Комментарии:
1. Ваше решение работает ИМЕННО так, как я предполагал. Это очень маловероятно, но что, если URL заканчивается на «/». Я провел тест, и он перешел из «site.com/page/subpage /» кому «site.com/page/subpage «. Вы случайно не знаете какой-нибудь способ это исправить? В этом нет необходимости, но решение будет на 99% идеальным до 100%.
2. Ах, я понимаю. Возможно, после разделения вы можете добавить проверку if, например if (url[url.length-1] == «») { url.splice(url.length-2,1); } else { url.splice(url.length-1,1); } . Я не проверял это, может бытьвы можете попробовать и посмотреть.
Ответ №2:
Вы можете получить путь к родительским каталогам, используя dirname()
метод php.
$parentPath = dirname( $currentPath, 1)
Здесь 1 — это уровень, на который вы хотите перейти. Например
$currentPath = "/page/subpage/anotherpage"
вернет /page/subpage
Комментарии:
1. Это лучший ответ, поскольку он использует встроенные функции, созданные именно для этой задачи!
Ответ №3:
Вы могли бы использовать history
объект :
$('.clickme').click(function() {
history.back();
});
Надеюсь, это поможет.
Комментарии:
1. Моя цель — НЕ использовать это, потому что, если человек приходит с Google или любого другого веб-сайта, он перенаправит их обратно туда.