У меня есть страница с http://foo.example.com/page,, которая встраивает iframe с http://bar.example.com/iframe.. Из соображений производительности я хочу использовать «изоляцию сайта» Chrome (включена по умолчанию после Chrome 67) для рендеринга.iframe в потоке, отличном от главной страницы.
Однако такое поведение «изоляции сайта», по-видимому, срабатывает только в том случае, если главная страница и iframe обслуживаются в разных доменах 2-го уровня (например, foo.example.comand bar.otherexample.com)
Страница отладки в chrome: // process-internals / # web-content показывает следующее:
Если страница на foo.example.com / iframe onbar.otherexample.com:
Frame: locked, site:http://example.com/ | url: http://foo.example.com/page
└ Frame: locked, site:http://otherexample.com/ | url: http://bar.otherexample.com/iframe
Два фрейма имеют разные «сайт» -> я вижу отдельный процесс «Подкадр: сайт: http://otherexample.com/" для фрейма в задаче Chrome»Manager.
Если страница на foo.example.com / iframe на bar.example.com:
Frame: locked, site:http://example.com/ | url: http://foo.example.com/page
└ Frame: locked, site:http://example.com/ | url: http://bar.example.com/iframe
Два кадра имеют один и тот же «сайт» -> нет «Подкадра»процесс для iframe.
Можно ли как-нибудь намекнуть Chrome, чтобы увидеть foo.example.com/page и bar.example.com/iframe как разные "сайты"?
(FWIW, на других случайных вкладках, которые случайно открываются в моем браузере, я вижу разделение процессов "Подкадра"для фреймов с 'site', перечисленным как https://content.googleapis.com/ или https://accounts.google.com/ - то есть с учетом домена 3-го уровня.Однако это URL-адреса Google, поэтому я не знаю, является ли это каким-то конкретным жестко закодированным поведением?)