Подтвердить что ты не робот

Почему WordPress помещает "text/rocketscript" вместо "text/javascript" при использовании wp_register_script()?

Я вставил следующий код в плагин WordPress:

   wp_deregister_script('jquery');
   wp_register_script('jquery', "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");
   wp_enqueue_script('jquery');

Следующее отображается в браузере:

<script type='text/rocketscript' data-rocketsrc='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=3.3.1'></script>

Вместо:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>

Я не знаю, что происходит. Возможно, wp_register_script() должен работать таким образом. Я также проверил, работает ли какой-либо код jQuery на стороне клиента, но это не так.

4b9b3361

Ответ 1

Возможно, один из плагинов wordpress использует CloudFlare.

https://support.cloudflare.com/hc/en-us/articles/200168056-What-does-Rocket-Loader-do-

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

Ответ 2

Это легко исправить.

Вы должны изменить следующий тег: <script type="text/javascript"></script>

добавить: data-cfasync="false"

пример:

<script data-cfasync="false" type="text/javascript"></script>

Ответ 3

Rocket Loader не входит в плагины WordPress. Вы должны отключить Rocket Loader, перейдя к: settings- > CloudFlare settings (Performance Settings) → Rocket Loader- > Toggle Off (эта функция является необязательной и должна быть включена).

Ответ 4

Я столкнулся с этой проблемой с помощью

WP Rocket, добавляющий type='text/rocketscript' к тегам script.

Исправлено, добавив

data-cfasync="false"

в теги script.