#html
Вопрос:
Могу ли я полностью опустить путь из ссылки и начать со знака вопроса?
Например: Если моя веб-страница есть https://example.com/mycgi
, могу ли я получить ссылку на форму <a href="?foo=bar">bar</a>
?
Я протестировал это в Firefox, и ссылка работает так, как ожидалось — щелчок по ней приведет меня к https://example.com/mycgi?foo=bar
. Будет ли это работать одинаково во всех современных браузерах? Какова наилучшая практика для такого типа ссылок?
Я пробовал искать MDN, в котором обычно есть хорошая таблица функций и поддержка версий браузера, но https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#href не содержит подробных сведений об относительных форматах ссылок.
Я обычно использую href="mycgi?foo=bar"
, но это означает добавление менее переносимой ссылки mycgi
на страницу. Я бы предпочел не добавлять динамически mycgi
к каждой ссылке в cgi, которая генерирует страницу.
Это чистый вопрос совместимости html и браузера. Я не ищу серверные или клиентские инструменты для изменения ссылок.
Комментарии:
1. Вы должны узнать об абсолютных и относительных путях. developer.mozilla.org/en-US/docs/Learn/Common_questions/…
2. @epascarello Все относительные URL-адреса там указывают, по крайней мере, часть пути. Мой вопрос заключается в том, чтобы полностью опустить путь и указать только параметры.
Ответ №1:
С этим не должно быть никаких проблем.
Вы должны быть в состоянии написать любой из них, и они должны разрешаться, как и любой другой элемент ссылки. Возможно, вы не захотите тестировать его в каждом крупном браузере. Но если вы найдете браузер, который его не поддерживает, я почти уверен, что браузер не соответствует спецификациям.
href="?foo=bar"
следует принять решение о domain.com/currentPath/CurrentPage?foo=bar
href="newPage?foo=bar"
следует принять решение о domain.com/currentPath/newPage?foo=bar
href=".?foo=bar"
следует принять решение о domain.com/currentPath/?foo=bar
href="/?foo=bar"
следует принять решение о domain.com/?foo=bar
и т.д…
Комментарии:
1. Спасибо за список альтернативных вариантов. У вас есть ссылка на них? У меня нет доступа ко «всем основным браузерам», что является одной из причин, по которой я задал этот вопрос.
2. раздел, посвященный конкретно поисковым параметрам : url.spec.whatwg.org/#interface-urlsearchparams
3. ранее размещал неверный URL-адрес : несколько примеров url.spec.whatwg.org/#urls Я почти уверен, что если ваш URL-адрес будет проанализирован, он просто сработает ! Поэтому, если он работает в firefox, он должен работать везде. И если google.com/fakefolder/../alsoafakefolder/../search? q=тест работает, я думаю, что с тобой все в порядке !