Я хочу подключить функции IIFE:
(function(p) {
// stuff
})();
Я спрашиваю об этом в общем смысле, хотя конкретная причина в том, что плагины WordPress часто вставляют встроенные скрипты прямо в вывод тела. Если вы хотите отложить (асинхронные) зависимости загрузки по причинам SEO, это, естественно, завершится неудачей.
В попытке исправить бесконечную плохую практику кодирования со стороны поставщиков плагинов и плагинов, которые просто не разработаны с учетом асинхронной загрузки, я хочу сделать это.
Я пытаюсь избежать:
Мне интересно, есть ли в браузере dom какой-то чрезвычайно низкоуровневый прототип, который можно использовать для перехвата функций такого рода?
В итоге я сделал то, что хотел избежать. Это немного грязно, но работает очень хорошо. Я бы поделился, но нда. Если возможно, я попытаюсь отправить его в виде запроса на получение одного из более крупных плагинов SEO / кеширования (вероятно, лучше минимизировать WordPress).
Он сканирует выходной буфер на наличие проблемных сценариев и стилей и настраивает их так, чтобы они соответствовали требованиям Google SEO (не блокируя). Я полагаю, что это никогда не сработает для gen-pop, поскольку количество плохого кодирования в этом мире бесконечно, и я думаю, что к тому времени, когда будут обработаны все сценарии использования, регулярное выражение будет мучительно раздутым.
Он опирается на loadCSS и некоторую форму встроенного DocumentContentLoaded, которая должна быть определена в заголовке inline, начинается с принудительной отсрочки всех исходных сценариев, очищает javascript, предназначенный для выполнения в его собственном теге script, и перемещает сценарии тела в одну функцию это можно назвать, когда настало время.
Все с регулярным выражением.
Вот несколько советов для тех, кто заинтересован в том, чтобы делать подобное:
Привет всем комментариям и помощи, оказанным здесь, я бы даже не попытался, не поговорив сначала с вами, ребята. Ценю указатели и советы, увидимся в следующий раз!
Других решений пока нет …