Проблемы с iframes prettyPhoto в проверке HTML5
При попытке проверить сайт, содержащий ссылки prettyPhoto, открывающие iFrame, я получаю следующие ошибки на любом href, содержащем ? Iframe=true&height=100%
Неверное значение атрибута href для элемента a: компонент запроса содержит знак процента, за которым не следуют две шестнадцатеричные цифры.
& не начал ссылаться на символ. (&, вероятно, следовало бы экранировать как &.)
Я пытался заменить & с & в базе данных, в которой хранятся ссылки, и даже% на%, но это также не удовлетворяло валидатор. Затем я попытался & amp; и & # 37; который правильно показывал href как?iframe=true&height=100%, но это больше не влияло на размер iframe.
Есть ли способ решить эту проблему, или я просто должен признать, что существует 15 ошибок, если фреймы работают?
1 ответ
Здесь есть два слоя.
Знак процента имеет особое значение в URL, поэтому его необходимо экранировать с помощью
%25
,Если вы вставляете это значение в тег как HTML, вы должны использовать
&
для амперсанда. Если, с другой стороны, вы делаете это с помощью Javascript (например,element.setAttribute('href', 'foo?bar1&bar2')
), тогда вам это не нужно.