Мы продолжаем получать 404 для следующих двух файлов:
/apple-touch-icon-precomposed.png: 685 Time(s)
/apple-touch-icon.png: 523 Time(s)
Я очищал свой мобильный веб-архив для виновника этого 404, и в моем коде нет места, направляющего на apple-touch-icon.png
.
Выполнение a Find in folder...
в Sublime Text 2 дает нулевые результаты для apple-touch-icon
:
Searching 100 files for "apple-touch-icon"
0 matches across 0 files
Мы используем метатеги Apple для webapps:
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
Будет ли использование этих метатег заставлять iPhone искать по умолчанию apple-touch-icon
? Мы не предоставляем иконку, но должны ли мы быть? Мы действительно хотели бы удалить этот 404.
Просмотр Apple Документация разработчика не содержал никаких намеков, которые усиливают мою теорию.
Сюжет сгущается еще дальше, когда мы обнаружили, что это происходит на iOS и Android, независимо от браузера. Firefox, Safari и Chrome пытаются найти этот apple-touch-icon
.
Я использовал HTML5 Mobile Boilerplate в качестве стартера для моего WebApp, у которого есть файл с именем helper.js
. helper.js
имеет эту функцию внутри нее, которую я удалил из нашего кода:
/**
* iOS Startup Image helper
*/
MBP.startupImage = function() {
var portrait;
var landscape;
var pixelRatio;
var head;
var link1;
var link2;
pixelRatio = window.devicePixelRatio;
head = document.getElementsByTagName('head')[0];
if (navigator.platform === 'iPad') {
portrait = pixelRatio === 2 ? 'img/startup/startup-tablet-portrait-retina.png' : 'img/startup/startup-tablet-portrait.png';
landscape = pixelRatio === 2 ? 'img/startup/startup-tablet-landscape-retina.png' : 'img/startup/startup-tablet-landscape.png';
link1 = document.createElement('link');
link1.setAttribute('rel', 'apple-touch-startup-image');
link1.setAttribute('media', 'screen and (orientation: portrait)');
link1.setAttribute('href', portrait);
head.appendChild(link1);
link2 = document.createElement('link');
link2.setAttribute('rel', 'apple-touch-startup-image');
link2.setAttribute('media', 'screen and (orientation: landscape)');
link2.setAttribute('href', landscape);
head.appendChild(link2);
} else {
portrait = pixelRatio === 2 ? "img/startup/startup-retina.png" : "img/startup/startup.png";
portrait = screen.height === 568 ? "img/startup/startup-retina-4in.png" : portrait;
link1 = document.createElement('link');
link1.setAttribute('rel', 'apple-touch-startup-image');
link1.setAttribute('href', portrait);
head.appendChild(link1);
}
//hack to fix letterboxed full screen web apps on 4" iPhone / iPod
if ((navigator.platform === 'iPhone' || 'iPod') && (screen.height === 568)) {
if (MBP.viewportmeta) {
MBP.viewportmeta.content = MBP.viewportmeta.content
.replace(/\bwidth\s*=\s*320\b/, 'width=320.1')
.replace(/\bwidth\s*=\s*device-width\b/, '');
}
}
};
После удаления, мы все равно получаем 404. Я в тупике. Любая помощь приветствуется.