Продолжайте получать 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.

выполняя 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(/bwidths*=s*320b/, 'width=320.1')
                    .replace(/bwidths*=s*device-widthb/, '');
            }
        }
    };

после удаления этого мы все еще получаем 404. Я в тупике. Любая помощь очень ценится.

1 ответов


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

да. Wenn вы добавить

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

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

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