поведение спецификации / реализации для пустого href? - PullRequest
0 голосов
/ 04 января 2011

Однажды я прочитал страницу несколько лет назад о различных реализациях поведения различных браузеров при нажатии на ссылку с пустым href.

  • некоторые из них связаны с каталогом (/path/to/file?query/path/to/)
  • некоторые из них связаны с точно таким же URI (/path/to/file?query/path/to/file?query)
  • некоторые из них связаны с одной и той же страницей (/path/to/file?query/path/to/file)

... и другие виды поведения.

  • Определено ли поведение в спецификации?
  • Если да, то что является правильнымПоведение?
  • Если да, исправили ли последние версии браузеров большой пятерки свои реализации?

1 Ответ

1 голос
/ 04 января 2011

Так как нет «спецификации» для содержимого HREF (по крайней мере, в HTML 4 ), браузеры могут делать все, что им чертовски хорошо, пожалуйста.

ОБНОВЛЕНИЕ Однако, кроме HTML, существует RFC3986: универсальный идентификатор ресурса (URI): общий синтаксис .Имеет раздел 4.4.Ссылка на тот же документ , которая гласит:

Когда ссылка на URI ссылается на URI, который, кроме своего фрагмента
(если есть), идентичен базовому URI (раздел5.1) эта ссылка
называется ссылкой "тот же документ".Наиболее частыми
примерами ссылок на один и тот же документ являются относительные ссылки, которые являются пустыми ...

Не обязательно читать выше как «пустой URI ДОЛЖЕН вызыватьклиент перезагружает URI того же социума », но это звучит как формулировка« передовой опыт »;поэтому, если бы я реализовывал свой собственный браузер, я почти наверняка следовал бы такому поведению.

В соответствующей заметке приведен хороший обзор последних 3/2010) того, как браузеры обрабатывают пустой атрибут src <img> тег: http://www.nczonline.net/blog/2010/03/16/empty-string-urls-in-html-a-followup/ и http://www.nczonline.net/blog/2010/07/13/empty-string-urls-browser-update/.Обратите внимание, что это большое дело , так как наличие и пустое img src приведет к бесконечной перезагрузке страницы в худшем случае.

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