Почему подсказка ресурса preconnect не работает? - PullRequest
1 голос
/ 04 апреля 2019

Я создал тестовую страницу в crenshaw.dev / demo / hints.html с подсказками браузера, запрашивающими dns-предварительную выборку и предварительное подключение к mac9416.com.

<!DOCTYPE html>
<html lang="en-US">
    <head>
        <title>Test resource hints</title>
        <link rel="dns-prefetch" href="//mac9416.com">
        <link rel="preconnect" href="https://mac9416.com" crossorigin>
    </head>
    <body>
        Lorem ipsum dolor sit amet,
        <!-- a bunch more to delay page loading -->
        Duis dignissim gravida commodo.

        <script src="https://mac9416.com/blah.js"></script>
    </body>
</html>

Но в соответствии с WebPageTest , подключение к mac9416.com не происходит до тех пор, пока не будет полностью загружен index.html.

WebPageTest waterfall chart showing mac9416.com is connected to only after all markup has been downloaded and parsed, instead of immediately after the head element is parsed

Почему Chrome не подключается к mac9416.com сразу после разбора <head>?

ОБНОВЛЕНИЕ:

На основании принятого ответа и комментария, я написал объяснение исправления.

Атрибут crossorigin, когда используется с rel="preconnect", не описывает , где целевое начало - , носкорее , какие активы будут загружены из этого источника .Если в активах используется CORS, необходимо crossorigin.Если CORS не будет использоваться, crossorigin следует опустить.Если будут присутствовать оба типа активов, необходимы две подсказки ресурса.

1 Ответ

2 голосов
/ 04 апреля 2019

Просто удалите плохо названный параметр crossorigin , и он будет работать.

<link rel="preconnect" href="https://mac9416.com">

Этот параметр не сообщает браузеру, что домен является внешним (он уже знает это).Он говорит браузеру предварительно открыть специальное соединение «CORS», которое необходимо для шрифтов или запросов XHR, но не для скриптов, таблиц стилей или изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...