Асинхронная загрузка некоторых сгенерированных Javascript - PullRequest
0 голосов
/ 10 февраля 2019

Я работаю в небольшой компании, которая не может гибко вносить изменения в использование тяжелой тематической веб-страницы в Wordpress по своим собственным причинам.Они также используют множество плагинов, и для их загрузки требуется более 10 секунд.Итак, я подумал, что должен попробовать и проверить сгенерированный исходный код домашней страницы после того, как я запустил анализ, который говорит мне, что js - это просто катастрофа. Темой, которую они выбрали, была Unero, , потому что она работает с woocommerce, я полагаю.Веб-сайт - это небольшой интернет-магазин вместе с блогом, на самом деле ничего особенного, мы тоже используем yoast SEO, но это может быть неактуально.Я понял, что здесь и там работает множество js-скриптов.Я прочитал, что вы можете установить все, что выполняется, с установкой async в true.

А также прочитал, что это может привести к разрыву между сценариями из-за неопределенных переменных и других проблем, которые я предполагаю.Пожалуйста, обратите внимание, что я в некотором роде новичок в технологиях JS и, возможно, не знаю, что мне действительно следует спрашивать или искать.Я делаю все возможное, чтобы объяснить, что мне нужно для этого сделать.

  1. Есть ли способ, которым вы можете переопределить (или перегрузить, какой здесь термин?) некоторые js в нижнем колонтитулепосле определения его положения (в HEAD и в BODY), установив его в асинхронный режим, используя фрагмент в нижнем колонтитуле?Будет ли это на самом деле работать?
  2. Я не хочу привлекать какие-либо общие решения для плагинов, потому что боюсь, что они сломают вещи, как упомянуто выше.Поправьте меня, если я ошибаюсь, и, пожалуйста, предложите мне что-нибудь.За исключением случаев, когда решение состоит в том, чтобы создать собственный плагин, где у меня будет полный контроль, я полагаю.
  3. Я открыт для ЛЮБЫХ предложений, пока он не сломает сайт.

Я спрашиваю здесь, а не на Wordpress Development или любом другом форуме Stack Exchange, потому что я ищу решение, сделанное вручную, а также объяснение, почему оно будет работать.Я действительно программист, и я не боюсь углубляться в что-то, если все будет сделано правильно.

1 Ответ

0 голосов
/ 10 февраля 2019

Есть ли способ, которым вы можете переопределить (или перегрузить, каков здесь термин?) Некоторых js в нижнем колонтитуле, после определения их положения (в HEAD и в BODY), установив его в асинхронный режим, с помощьюиспользуя фрагмент в нижнем колонтитуле?Будет ли это на самом деле работать?

Ответ: Да, это возможно, но это также может произойти с кодом синхронизации.Если плагин A делает что-то вроде $('title').text('Title from A'), а затем следующий плагин делает $('title').text('Title from B'), тогда он будет переопределен, не имеет значения, является ли он синхронизированным или асинхронным.

Я не хочу привлекатьлюбые плагины общего решения, потому что я боюсь, что они сломают вещи, как указано выше.Поправьте меня, если я ошибаюсь, и, пожалуйста, предложите мне что-нибудь.

Ответ: Я не уверен, что вы хотите сделать.Какова ваша цель с этим сайтом?Хотите распутать беспорядок плагинов?Это может быть сложно, так как у вас мало контроля над плагинами и их механизмом.

Я открыт для ЛЮБЫХ предложений, если только он не сломает сайт.

Ответ: Один из способов - отключить их один за другим, чтобы увидетьпричина и следствие и попытаться очистить таким образом.Другим решением было бы переключиться на более простое решение, такое как Shopify, а третье - на создание нестандартного решения, над которым у вас больше контроля.

Это довольно открытый вопрос, поэтому довольно сложно дать конкретный ответ или решение.к вашей проблеме.

...