Вопрос по html, html5, forms – Для чего используется & amp

63

Есть ли разница в поведении ниже URL.

Я не знаю почему& вставлен, это имеет какое-либо значение?

www.testurl.com/test?param1=test&current=true

против

www.testurl.com/test?param1=test&current=true
«Общее поведение» все еще довольно расплывчато. Вам интересно что-то вроде<p>www.testurl.com/test?param1=test&amp;current=true</p> или же<a href="www.testurl.com/test?param1=test&amp;current=true">linky</a>? jprofitt
Можете ли вы дать контекст? Это в форме действия? Просто отображается на странице? jprofitt
@ user470184 Я не понизил голос, но рассмотрел это. На SO уже есть тонна информации по этому вопросу. Charles Sprayberry
«Поведение» в каком контексте? Pekka 웃

Ваш Ответ

5   ответов
-1

если вы делаете строку символов. сделать:

let linkGoogle = 'https://www.google.com/maps/dir/?api=1'; 
let origin = '&origin=' + locations[0][1] + ',' + locations[0][2];


aNav.href = linkGoogle + origin;
Вопрос о&amp в HTML, а не& в URL. Quentin
82

& HTML для «Начало ссылки на символ».

&amp; является символьной ссылкой для "Амперсанда".

&current; не является стандартной ссылкой на символ и поэтому является ошибкой (браузеры могут попытаться выполнить восстановление после ошибки, но вы не должны зависеть от этого).

Если вы использовали ссылку на символ для реального символа (например,&trade;) затем он (™) появится в URL-адресе вместо нужной вам строки.

(Обратите внимание, что в зависимости от используемой версии HTML, вам может потребоваться завершить ссылку на символ;вот почему&trade= будет рассматриваться как ™. HTML 4 позволяет опускать его, если следующий символ не является словом (например,=), но некоторые браузеры (Hello Internet Explorer) имеют проблемы с этим).

3

&amp; потому что это = & в HTML

Я просмотрел этот пост, который кто-то сделал:http://www.webmasterworld.com/forum21/8851.htm

0

&current анализируетсяв текстовый узел он преобразуется в¤t, Когда разбираетсяв значение атрибутаон анализируется как&current.

Если ты хочешь&current в текстовом узле, вы должны написать&amp;current в вашей разметке.

Кровавые подробности здесь:http://dev.w3.org/html5/spec/tokenization.html#consume-a-character-reference

2

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.

Таким образом, цель здесь - избежать проблем, когда вы пытаетесь подтвердить свой веб-сайт. Таким образом, вы должны заменить свои амперсанды&amp; при написании URL в вашей разметке.

Обратите внимание, что замена& с участием&amp; выполняется только при написании URL в HTML, где"&" это специальный символ (наряду с "<" и ">"). При написании того же URL-адреса в текстовом сообщении электронной почты или в строке адреса браузера, вы должны использовать"&" и нет"&amp;", С HTML браузер переводит"&amp;" в"&" поэтому веб-сервер будет видеть только"&" и нет"&amp;" в строке запроса запроса.

Надеюсь это поможет : )

Похожие вопросы