2013-09-01 1 views
0

Когда я начать использовать этот фрагмент код для автоматического освежающего блока с AJAX confliction происходит с «как» деятельность по щим BuddyPress:с помощью пользовательского автоматического обновления коды делает расслоение плотного конфликта

myscr.js

jQuery(document).ready(function() { 
    function update() { 
     jQuery("#notice").html('Updating...'); 
     jQuery.ajax({ 
     type: 'GET', 
     url: 'http://domain.com/activity', 
     data: "recentac=true", 
     //timeout: 5000, 
     success: function(data) { 
      jQuery("#recent-activities").html(data); 
      jQuery("#notice").html(''); 
      window.setTimeout(update, 20000); 
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
      jQuery("#notice").html('Error in connection'); 
      window.setTimeout(update, 5000); 
     } 
    }); 
    } 
    update(); 
}); 

и я использую wp_enqueue_script напечатать мой сценарий:

function auto_refresh() 
{ 
    wp_enqueue_script('myscr', get_template_directory_uri().'/myscr.js', array("jquery"), '1.0', true); 
} 
add_action('wp_enqueue_scripts', 'auto_refresh', 99); 

Авто refereshing работы, и я заметил, что перед а uto refresh, «Like» работает, и после этого этого не происходит! также консоль не показывает никаких ошибок.

Любая помощь будет оценена по достоинству.

ответ

0

hey im not sure, если это поможет, но я прочитал о каком-либо конфликте, и вот что он говорит по ссылке, я скопировал большую часть контента, чтобы добавить ссылку на ссылку, поэтому нажмите ее еще раз Информация. Надеюсь, что это помогает

сайта ссылка: http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/

Собирает JQuery В No-Конфликте режима Когда вы JQuery в не-конфликтном режиме, у вас есть возможность присвоения нового имени переменного, чтобы заменить $ псевдонима.

<!-- Putting jQuery into no-conflict mode. --> 
<script src="prototype.js"></script> 
<script src="jquery.js"></script> 
<script> 

var $j = jQuery.noConflict(); 
// $j is now an alias to the jQuery function; creating the new alias is optional. 

$j(document).ready(function() { 
    $j("div").hide(); 
}); 

// The $ variable now has the prototype meaning, which is a shortcut for 
// document.getElementById(). mainDiv below is a DOM element, not a jQuery object. 
window.onload = function() { 
    var mainDiv = $("main"); 
} 

</script> 

В приведенном выше коде значение $ вернется к его значению в исходной библиотеке. Вы все равно сможете использовать полное имя функции jQuery, а также новый псевдоним $ j в остальной части вашего приложения. Новый псевдоним можно назвать чем угодно: jq, $ J, awesomeQuery и т. Д.

Наконец, если вы не хотите определять другую альтернативу полному имени функции jQuery (вам действительно нравится использовать $ и не заботятся об использовании метода $ library другой библиотеки), то есть еще один подход, который вы могли бы попробовать: просто добавьте $ как аргумент, переданный вашей функции jQuery (document) .ready(). Это чаще всего используется в случае, когда вы по-прежнему нуждаетесь в преимуществах очень сжатого кода jQuery, но не хотите создавать конфликты с другими библиотеками.

<!-- Another way to put jQuery into no-conflict mode. --> 
<script src="prototype.js"></script> 
<script src="jquery.js"></script> 
<script> 

jQuery.noConflict(); 

jQuery(document).ready(function($) { 
    // You can use the locally-scoped $ in here as an alias to jQuery. 
    $("div").hide(); 
}); 

// The $ variable in the global scope has the prototype.js meaning. 
window.onload = function(){ 
    var mainDiv = $("main"); 
} 

</script> 

 Смежные вопросы

  • Нет связанных вопросов^_^