Как бы я сделал перенаправление мета, которое перенаправляет на URL-адрес, сохраненный в параметре? - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь настроить службу, которая будет перенаправлять пользователя на URL-адрес, сохраненный в параметре ?url=, как мне это сделать?

Я пытался использовать мета

http-equiv="refresh"

с

out.print(request.getParameter("ur;")) %>

однако все, что происходит, это перезагрузка страницы в цикле.Не слишком уверен, если мне нужно использовать кавычки (например, /? Url = "https://google.com")

<meta http-equiv="refresh"
      content="0; URL="<%
out.print(request.getParameter("redirect")) %>">

Что мне нужно сделать, это когда пользователь перенаправляется на" https://example.com/exampledir/index.html?url=https://anotherwebsite.com" (просто пример URL)) скрипт на index.html получит параметр и точно перенаправит его. Что действительно происходит, так это то, что страница просто перезагружается в цикле.

1 Ответ

0 голосов
/ 23 апреля 2019

Поскольку вы не используете какой-либо серверный язык, вы не сможете сгенерировать другой метатег во время рендеринга. Вместо этого вам нужно будет сделать это с помощью JavaScript после загрузки страницы.

Добавьте тег сценария внизу страницы, например:

<script>
  var redirect = new URL(window.location).searchParams.get('redirect');
  if (redirect) window.location = redirect;
</script>

Теперь, если вы перейдете на страницу следующим образом: http://<myserver>/myfile.html?redirect=https://google.com вы будете перенаправлены на https://google.com.

Для справки см. Статьи MDN:

Я также настоятельно рекомендую вам прочитать Основы Java Script , чтобы убедиться, что вы понимаете общие концепции, представленные здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...