Можно ли, скажем, http://yourlink.here?something=answer сделать что-то в HTML?

1 ответ1

0

Часть URL после ? (но перед #) называется запросом или строкой запроса. Он включен в URL-адрес, отправляемый на сервер, и его изменение обычно вызывает новый HTTP-запрос GET к серверу.

Обычно запрос анализируется сервером и изменяет, какие данные (HTML, JS, JSON и т.д.) Сервер возвращает в ответе HTTP. Однако вы можете проанализировать его на стороне клиента, используя JavaScript. Свойство window.location.search в JS будет возвращать часть запроса в виде строки. Затем вы можете делать такие вещи, как использование функции split чтобы разбить строку запроса на & (в случае, если имеется несколько параметров), разделить каждый параметр на = (для разделения имени и значения) и URL-декодировать имена и значения (потому что есть группа символов - таких как = , & или # - которые не могут присутствовать в буквальной форме в имени или значении запроса).

Обратите внимание, что если вы пытаетесь проверить что-то там, например, проверку пароля или ответ на вопрос, это совершенно небезопасно. Злонамеренный пользователь может просто прочитать исходный код JS на странице, чтобы выяснить, какое значение ожидается, или отредактировать скрипт, чтобы полностью обойти проверку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .