ASP.Net MVC генерирует DNS-теги предварительной выборки

Есть ли способ найти все src="" URL-адреса при отображении страницы ASP.net MVC в представлении, чтобы затем генерировать теги предварительной выборки DNS на лету?

https://www.chromium.org/developers/design-documents/dns-prefetching

1 ответ

Решение

Если я правильно понял, я могу сказать вам следующее:

Вариант № 1: (не очень хорошее решение, но будет работать.)

ПРИМЕЧАНИЕ: для этого попробуйте использовать простой Javascript и не полагаться на JQuery или другое (с тех пор вам все равно нужно "загрузить" файл.JS для этого, и это разрушает суть вашего вопроса.

Обработайте свой src/href или некоторый другой предопределенный тег свойства с некоторым видом "OwnLogic" для определения "базовой цели", но таким образом, что браузер не сможет инициировать запрос для получения этого изображения или другого файла. Пример:

<img url="" class="DNS_BaseTarget" DNS_BaseTarget="smiley.gif||myCDNPointerInfo" alt="">

Затем с помощью javascript получите список всех элементов, использующих класс DNS_BaseTarget, а затем прочитайте значение свойства и обновите тег "src". В то же время вы можете ввести с помощью javascript ввести все<link rel="dns-prefetch" href="https://cdn.yourTargetDomain.com">"что вы будете использовать на основе информации, которую вы только что обработали.

Я не проверял эту концепцию, поэтому можно ожидать "задержки" или некоторой задержки в клиенте (но, возможно, не заметной для пользователя).

Вариант № 2:

Процесс выполнения просмотра результатов (в жизненном цикле MVC) говорит нам, что метод Render() является последним из выполняемых. При этом вы можете создать собственную настраиваемую логику переопределения. Пример: перехватывать рендеринг представлений, чтобы добавить HTML/JS во все частичные представления? Как перехватить рендеринг вида, чтобы добавить HTML/JS на все частичные виды?

С этой концепцией попытки "обработать" окончательный html перед отправкой его пользователю, вы могли бы как-то "разобрать" файл.... попытаться получить все 'src/href' и затем внедрить все '<link rel="dns-prefetch" href="https://cdn.yourTargetDomain.com">"что вы будете использовать.

Другие вопросы по тегам