Почему тег <a>неправильно перемещается по URL при использовании www.something.com - PullRequest
0 голосов
/ 16 апреля 2019

Я работал над тегом и, скажем, мой домен был www.abc.com. Если я использую href="http://example.com", он правильно перейдет к предполагаемому URL. Однако, если я использую href="www.example.com", он не перейдет к предполагаемому URL.

<a href="www.google.com">not properly navigate</a>
<a href="http://www.google.com">properly navigate</a>
<a href="http://google.com">properly navigate</a>

Я читал спецификации якоря в https://html.spec.whatwg.org,, к сожалению, не смог найти этот конкретный случай.

Ответы [ 3 ]

4 голосов
/ 16 апреля 2019

Браузер должен знать, хотите ли вы перейти по ссылке на другой сайт или другой файл / страницу вашего собственного сайта. Браузер всегда предполагает, что вы хотите связать файл с вашим собственным сервером, если вы не указали протокол.

Фактически: единственная причина, по которой вы можете не указывать протокол при вводе URL-адреса в адресную строку вашего браузера, заключается в том, что браузер просто указывает, что вы хотите использовать http -протокол. Это невозможно с URL внутри тега А.

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

Потому что, когда вы нажимаете на нее .. Ваш браузер предположит, что ему нужно найти эту ссылку в том же расширении файла.Пример: если ваше html-расширение e: //tst.html, при нажатии на тег в браузере оно перейдет к e: // и будет искать файл с именем "www.google.com", но не найдет его. Используйте <a href="http://www.google.com">not properly navigate</a>, чтобы сообщить браузеру, что вам нужно перейти на другой сайт

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

Если вы не укажете абсолютный URL, он будет думать, что это маршрут внутри вашего сайта.

Возможные значения с использованием атрибутов href:

  • Абсолютный URL - баллына другой веб-сайт (например, href = "http://www.example.com/default.htm")
  • относительный URL - указывает на файл на веб-сайте (например, href =" default.htm ")
  • ссылка на элемент с указаннымидентификатор на странице (например, href = "# top")
  • Другие протоколы (например, https://, ftp: //, mailto :, file: и т. д.)
  • Сценарий (like href = "javascript: alert ('Hello');")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...