Подтвердить что ты не робот

Продолжайте получать 404 для apple-touch-icon.png

Мы продолжаем получать 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. Я в тупике. Любая помощь приветствуется.

4b9b3361

Ответ 1

Использование этих метатег заставляет iPhone искать apple-touch-icon по умолчанию? Мы не предоставляем значок, но должны мы будем? Мы действительно хотели бы удалить этот 404.

Да. Wenn вы добавляете

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">

на ваш сайт это означает, что пользователь может создать закладку на своем домашнем экране, которая не открывается в Safari, а в веб-представлении, которое выглядит как "родное" приложение. Вы должны предоставить эти изображения как вид значка приложения для главного экрана.

Это может быть подсказка, которую вы искали: http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html