Автоматическое обнаружение отсутствующего потока атомов в IE7
-
23-08-2019 - |
Вопрос
Я показывал веб-сайт клиенту, который настаивает на использовании IE, и, к своему удивлению, обнаружил, что IE7 не выполняет автоматическое обнаружение ленты новостей Atom.
Ссылка на ленту находится в элементе HEAD допустимой строгой страницы HTML 4.01 с <link rel="alternate" type="application/atom+xml" href="atom.xml" title="Atom 1.0">
, ссылка указывает на правильный URL, связанный канал представляет собой действительный XML-файл Atom 1.0, который подается как application / atom + xml и содержит правильный <link rel="self">
.
Firefox, Opera, Safari и IE8 beta 2 все правильно распознают ленту и осветляют соответствующую кнопку адресной строки - только IE7 остается серым цветом.У того же IE7 не было проблем с поиском новостных лент в другом месте и передачей HTML-части Набор тестов для автоматического обнаружения DiveIntoMark с блестящими результатами.
Изменение HREF на полный URL-адрес не имело никакого значения, равно как и изменение ТИПА на MIME RSS 2.0 или удаление атрибута TITLE.
Адрес веб-сайта: http://www.monteanalogo.net/.
Есть какой-нибудь намек на то, что здесь не так?
Решение
Я скопировал ваш исходный код на свой локальный компьютер, и автоматическое обнаружение IE7 сработало нормально, как только я изменил href на полный URL, а не на относительный:
<link rel="alternate" type="application/atom+xml"
href="http://www.monteanalogo.net/atom.xml" title="Atom 1.0">
Необходимость в полном URL-адресе, по-видимому, является сбоем IE, поскольку RFC для автоматического обнаружения atom заявляет , что:
Значением МОЖЕТ быть относительный URI, и если это так, клиенты ДОЛЖНЫ преобразовать его в полный URI ...использование базового URI документа
Собственный сайт Microsoft руководство издателя также содержит полный URL-адрес в href
тег, но не упоминает о том, что он является обязательным:
Вот пример автоматического обнаружения атома:
<head> <link rel="alternate" type="application/atom+xml" title="your feed title here" href= "http://www.company.com/feedurl.xml"> </head>