jQuery - работает / не работает - Joomla, Google libs - PullRequest
0 голосов
/ 02 января 2019

У меня странная ситуация, и я не могу понять, почему мои JavaScripts не работают.

Это общая проблема - если я загружаю jquery 2.2.0 по этой ссылке: "https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"

все отлично работает

однако Joomla загружает свою собственную версию 1.2, которую я переписал с моим шаблоном в текущую версию 3.3.1

  • на данный момент все работает, но у меня загружено 2 jQuerys (один из joomla, а другой из google lib)

  • если я удаляю версию Google 2.2, JS не работает (загрузкасо стандартным скриптом внутри html)

  • если я заменил jquery в моем шаблоне на версию 2.2.0 из google, он все еще не работает (загрузка через joomla head)

Я получаю эту ошибку: Ошибка типа: $ .tablesorter не определен

Это не имеет смысла для меня

Ответы [ 3 ]

0 голосов
/ 03 января 2019

позор, есть еще несколько способов заставить его работать.

Итак, на той же странице вы полностью удалили Joomla 1.2 jQuery?Вы упомянули, что вы заменили его на 3.3.1

, а также является ли это конкретной страницей, требующей jQuery 2.2?или вы хотите перейти на jQuery 2.2 для всего сайта?

если вам просто нужно это на одной странице, вы можете сделать несколько php в заголовке, чтобы переключить используемый jQuery в зависимости от URL страницы, как это было бызагружайте только один, а не 2 jQuerys на каждой странице.Не самый идеальный способ, но он должен работать.

<?php

//First detect the URL
$url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

//Now do the if else to switch jQuery on desired page.

if (strpos($url, 'myPage.php') !== false) {
  echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>';
} else {
  echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>';
}

?>

, если вам нужно или вы хотите использовать его в последней версии jQuery, я бы удалил все jQuery и jQuery Migrate, а затем вставил последние версии обоих, а затем попытался решитьоставшиеся ошибки

Вы можете поделиться несколькими ошибками?

например, ошибки только с jQuery 1, затем ошибки только с 2 и так далее?

0 голосов
/ 06 января 2019

Мне удалось решить проблему, заменив все

$(function () {...

на

jQuery(function ($) { ..

Я загружаю последнюю версию jQuery со своего собственного сервера

У меня естьточно такая же настройка на другом сайте и таких проблем нет

0 голосов
/ 02 января 2019

Не уверен, поможет ли это, но у меня была похожая проблема на моем сайте WordPress, и я решил ее с помощью jQuery Migrate: https://github.com/jquery/jquery-migrate

Использование На вашей веб-странице загрузите этот плагин после тега сценария для jQuery, например:

<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
<script src="https://code.jquery.com/jquery-migrate-3.0.1.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...