Есть ли разница в поведении указанного ниже URL.
Я не знаю, зачем &вставлен, какая разница?
www.testurl.com/test?param1=test&current=true
против
www.testurl.com/test?param1=test¤t=true
Есть ли разница в поведении указанного ниже URL.
Я не знаю, зачем &вставлен, какая разница?
www.testurl.com/test?param1=test&current=true
против
www.testurl.com/test?param1=test¤t=true
<p>www.testurl.com/test?param1=test&current=true</p>или <a href="www.testurl.com/test?param1=test&current=true">linky</a>?
Ответы:
& HTML для «Начало ссылки на символ».
& это ссылка на символ для "амперсанда".
¤t; не является стандартной символьной ссылкой и поэтому является ошибкой (браузеры могут попытаться выполнить восстановление после ошибки, но вы не должны зависеть от этого).
Если вы использовали ссылку на настоящий символ (например ™), тогда она (™) появится в URL-адресе вместо нужной строки.
(Обратите внимание, что в зависимости от версии HTML, которую вы используете, вам, возможно, придется заканчивать ссылку на символ ;, поэтому &trade=она будет рассматриваться как ™. HTML 4 позволяет опускать его, если следующий символ не является словесным ( например =), но в некоторых браузерах (Hello Internet Explorer) с этим возникают проблемы).
HTML не распознает, &но распознает, &потому что он равен &в HTML
Я просмотрел этот пост, который кто-то написал: http://www.webmasterworld.com/forum21/8851.htm
Мой источник: http://htmlhelp.com/tools/validator/problems.html#amp
Другая распространенная ошибка возникает при включении URL-адреса, содержащего амперсанд ("&"):
Это неверно:
a href = "foo.cgi? chapter = 1 & section = 2 & copy = 3 & lang = en"
Пояснение:
В этом примере возникает ошибка для «раздела неизвестной сущности», поскольку
"&"предполагается, что с нее начинается ссылка на сущность. Браузеры часто безопасно восстанавливаются после такого рода ошибок, но в некоторых случаях действительно возникают проблемы. В этом примере многие браузеры правильно конвертируют & copy = 3 в © = 3, что может привести к сбою ссылки. Поскольку ⟨- это HTML-объект для левой угловой скобки, некоторые браузеры также преобразуют & lang = en в 〈= en. И один старый браузер даже находит объект §, преобразовывая & section = 2 в §ion = 2.
Итак, цель здесь - избежать проблем, когда вы пытаетесь проверить свой сайт. Таким образом, вы должны заменить свои амперсанды на &при написании URL-адреса в разметке.
Обратите внимание, что замена
&на& выполняется только при написании URL-адреса в HTML, где"&"используется специальный символ (вместе с «<» и «>»). При написании того же URL-адреса в текстовом сообщении электронной почты или в адресной строке браузера вы должны использовать"&"and not"&". С HTML, браузер переводит"&"к"&"таким веб - сервер будет видеть только"&"и не"&"в строке запроса запроса.
Надеюсь это поможет : )
Это отличный пример. Когда ¤tанализируется в текстовый узел, он преобразуется в ¤t. При синтаксическом разборе значения атрибута оно анализируется как¤t .
Если вы хотите ¤tв текстовом узле, вы должны написать &currentв своей разметке.
Кровавые подробности здесь: http://dev.w3.org/html5/spec/tokenization.html#consume-a-character-reference
если вы делаете строку символов. делать:
let linkGoogle = 'https://www.google.com/maps/dir/?api=1';
let origin = '&origin=' + locations[0][1] + ',' + locations[0][2];
aNav.href = linkGoogle + origin;
&в HTML, а не &в URL.