BuddyPress jQuery (размещенная библиотека Google) конфликтует с кадрированием изображения

Я использую БаддиПресс. Наконец-то я понял, как переключать окно входа в систему через jQuery. К сожалению, вызов библиотеки jQuery, размещенной в Google, приводит к конфликту с инструментом обрезки изображений, представленным в BuddyPress. Я потратил весь день на поиск способов решить эту проблему. Нет игральных костей.

Если я удалю первую строку (та, которая ссылается на googleapis.com), мой инструмент обрезки изображений будет работать нормально, но это не позволит мне переключить окно входа в систему...

Я безуспешно пытался изменить свой файл bp-функций.

Я попытался решить проблему, используя различные «ответы», найденные в Интернете, в том числе: wp_enqueue и другие. Это так расстраивает. Пожалуйста помогите!

 <?php wp_head(); ?>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".l1").click(function(){
$("#login-panel").toggle();
$("input[type='text']:first", document.forms[0]).focus();
});
});
</script>

person user627196    schedule 21.02.2011    source источник
comment
Разве BuddyPress уже не поставляется с jQuery?   -  person ceejayoz    schedule 21.02.2011
comment
Да, это так. Я хочу использовать библиотеки, размещенные на серверах Google. У вас есть что предложить?   -  person user627196    schedule 21.02.2011


Ответы (2)


У меня была аналогичная проблема с тем же скриптом.

Я видел, что вы нашли решение, но оно не сработало для меня. Я нашел еще один и решил опубликовать для людей, у которых есть эта проблема. Это обходной путь, который работает только для полей входа, но работает :)

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

Вот код:

if (!is_user_logged_in()) {
    $dir_uri = get_stylesheet_directory_uri();
    echo '<link rel="stylesheet" href="'.$dir_uri.'/css/style-login.css" /> ';
    echo '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=1.4.2"></script>'; }

Надеюсь, это поможет кому-то :)

person gox    schedule 11.06.2012

Задача решена!

окончательный код:

 <?php wp_get_archives('type=monthly&format=link'); ?>
 <?php
 wp_deregister_script('jquery');
 wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js', false, '1.5.0');
 wp_enqueue_script('jquery');
 ?>

<?php wp_head(); ?>

<script type="text/javascript">
$(document).ready(function(){
$(".l1").click(function(){
$("#login-panel").toggle();
$("input[type='text']:first", document.forms[0]).focus();
});
});
</script>

 </head>

Это позволило мне удалить эту строку кода:

 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>

Теперь я могу запускать оба скрипта без конфликтов. Мой вход в систему переключается, и я могу обрезать изображения.

person user627196    schedule 21.02.2011