Добавление favicon через HTTP-заголовок
предположим, что я хочу добавить favicon на динамически сгенерированную страницу (в частности, страницу ADF Faces, но это не имеет значения). Я не могу изменить тег моего результирующего html. Поэтому я пытаюсь добавить http-заголовок в заголовок сервлета. Я хочу, чтобы мой заголовок был идентичен элементу html head:
<link rel="shortcut icon" href="http://foo.com/favicon.ico">
я добавляю это так:
httpResponse.addHeader("Link", "<http://foo.com/favicon.ico>; rel="shortcut icon"");
и в моем браузере я вижу этот заголовок в ответ:
Link: <http://foo.com/favicon.ico>; rel="shortcut icon"
но, к сожалению, это не имеет никакого эффекта в IE или Chrome. Кто-нибудь пытался добиться того же? Я делаю что-то не так? Это должно сработать?
3 ответов
и ответ: этот метод основан на предлагаемом стандарте (проекте), который еще не реализован (благодаря Салман В для указания на это). Хотя было бы здорово, если бы это сработало.
да заголовки ссылок были определены стандартом в RFC 5988 С октября 2010 года, но только ссылка отношении Я видел, что работа предназначена для таблицы стилей и только в некоторых браузерах.
Смотрите также: таблицы стилей заголовков HTTP
то, что предлагает @dragn, вполне жизнеспособно, и в спецификации, почему браузеры не принимают, вне меня. Есть некоторые другие полезные отношения, такие как предварительная выборка, закладка и глоссарий, чтобы назвать несколько. Самое меньшее, что они могут сделать, это уведомить Пользователя о существовании ссылок и предоставить его в виде раскрывающегося списка или меню. Возможно, плагин-это то, что требуется, чтобы показать поставщикам браузера, что мы хотим, чтобы он сделал, поскольку кажется, что они все путаются. Есть предложения?
на данный момент я думаю, что мы должны ждать до 2020 года, чтобы эта функция стала доступной, которая, кажется, Трент.
Да, да!"проект"..
в любом случае..
если вы хотите увидеть, как вы можете использовать его на практике, вот пример (взято из icompile.eladkarako.com)
<ifModule mod_headers.c>
Header set Link <http://icompile.eladkarako.com/favicon.ico>; REL="shortcut icon"; TYPE="image/x-icon"
Header set Link <http://icompile.eladkarako.com/favicon.ico>; REL="icon"; TYPE="image/x-icon"
Header set Link <http://icompile.eladkarako.com/img/apple-touch-icon.png>; REL="apple-touch-icon"; TYPE="image/png"; sizes="316x316"
</ifModule>
он будет работать в текущем Chromium / Google Chrome / Google Canary,
(и точно, если вы установите переключатель дляadvance web-features
на chrome://flags
)