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">
"что вы будете использовать.