Перенаправить путь URL к действию в индексе?

, я запускаю веб-сервер Apache на Ubuntu 20.04.

У меня есть domain.com, который направляет клиентов на index.html. На сайте есть кнопка, при нажатии на которую открывается всплывающий-виджет календаря. Я бы хотел, чтобы люди, переходящие на domain.com/schedule, попадали на главную страницу, как если бы они нажали эту кнопку.

Как я могу сделать это просто?

0
задан 8 November 2021 в 18:57
2 ответа

Вам обязательно нужно вызвать всплывающее-up на стороне клиента. Вот краткий пример, который вы можете легко попробовать и настроить (и защитить)в соответствии с вашими потребностями :

<html>
  <head>
      <script type="text/javascript">
        function isScheduleRequested() {
        if(window.location.href.includes('/schedule')) {
          document.getElementById('button').click();
        }
      }
      </script>
  </head>
  <body onload='isScheduleRequested();'>
      <button type="button" name="button" id="button" onclick="alert('Opening calendar');">Open calendar</button>
  </body>
</html>

. Вообще говоря, это проверяет, содержит ли URL-адрес текущей страницы подстроку '/schedule' (. ]в любом месте, не обязательно в конце, даже не один раз), а если да, то вызвать событие кнопки click.

Бит onload='isScheduleRequested();нужен только для того, чтобы убедиться, что сценарий javascript выполняется после загрузки тела (и существования элемента кнопки).

Вы даже можете попробовать это на своем компьютере. Сохраните этот код как «index.html» и откройте его в браузере. Ничего не произойдет, пока вы не нажмете кнопку. Однако, если вы добавите ?q=/scheduleк URI, будет запущено событие нажатия кнопки. (В этом примере нам нужно передать строку /scheduleкак часть параметра GET, так как нет ни доменного имени, ни сервера, ни чего-либо необычного. ).

2
ответ дан 16 November 2021 в 20:07

На сервере Apache вы можете создать правило перезаписи для рендеринга того же index.html по другому пути, но отображение всплывающего-виджета — это то, что вам нужно решить на стороне приложения (, например. JavaScript может использовать Web API URL.pathname для обнаружения посещения domain.com/scheduleURL). Когда ваше приложение определяет, что пользователь посетилdomain.com/schedule(на основе имени пути), оно может вызвать действие открытия всплывающего виджета-up.

0
ответ дан 15 November 2021 в 09:21

Теги

Похожие вопросы