В останньому стабільному випуску Firefox (версія 57) під назвою Quantum змінена функція Top Sites на нових вкладках. Раніше лише груба мініатюра часткового скріншота з'являлася незалежно від веб-сайту і не могла контролюватися. Зараз деякі веб-сайти з’являються з великою піктограмою, а інші показують лише як згадану мініатюру та їх фавікон накладений у кутку. Приклади сайтів, які отримують обробку великих значків: Amazon, TechCrunch, Slack та GitHub. Приклад сайтів, які отримують мініатюру з фавіконним лікуванням: Slashdot, Steam, Kongregate, Gizmodo.
Наскільки я можу сказати, для цього немає жодної конкретної рими чи причини. Також я ніде не знайшов жодної документації на функції "Найпопулярніші сайти".
Після деякого заглиблення у вихідний код Firefox я виявив browser\extensions\activity-stream\lib\TopSitesFeed.jsm
, що має цей розділ коду:
/**
* Get an image for the link preferring tippy top, rich favicon, screenshots.
*/
async _fetchIcon(link) {
// Check for tippy top icon and rich icon.
this._tippyTopProvider.processSite(link);
let hasTippyTop = !!link.tippyTopIcon;
let hasRichIcon = link.favicon && link.faviconSize >= MIN_FAVICON_SIZE;
if (!hasTippyTop && !hasRichIcon) {
this._requestRichIcon(link.url);
}
// Request a screenshot if needed.
if (!hasTippyTop && !hasRichIcon && !link.screenshot) {
const {url} = link;
await Screenshots.maybeCacheScreenshot(link, url, "screenshot",
screenshot => this.store.dispatch(ac.BroadcastToContent({
data: {screenshot, url},
type: at.SCREENSHOT_UPDATED
})));
}
}
Раніше MIN_FAVICON_SIZE
його визначали як 96, який я припускаю, що знаходиться в пікселях.
Дивлячись TippyTop
, я бачу, що для Amazon, Reddit, Twitter, Facebook та деяких інших веб-сайтів проводяться пільгові процедури (відвідайте resource://activity-stream/data/content/tippytop/
Firefox для відповідного файлу JSON + зображення), що, напевно, означає, що Firefox включає спеціальні піктограми з кінцевими бінарними файлами. конкретні веб-сайти, але не всі згадані нами сайти.
Наприклад, TechCrunch відсутній у списку TippyTop і має лише 16 x 16 фавікон. Однак Firefox показує піктограму замість екрана екрана. На веб-сайті TechCrunch є сенсорні піктограми Apple, що перевищують 96 пікселів. Тож, можливо, замість цього використовується один із них. Я взагалі думаю, що фавікони є окремими об'єктами від мета-тегів, що стосуються Apple, сенсорних значків. Це означає, що веб-майстри, ймовірно, можуть замінити механізм зйомки екрана (якось) і просто показати приємну піктограму у списку "Найпопулярніші сайти". Тож залишається питання, як це зробити? Логіка фавікону на даний момент все ще є дещо загадкою.