Webboard

Pełna wersja: "Pogodzenie" ze sobą jQuery
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
wersja skryptu MyBB: 1.6.11
adres forum: localhost
na czym polega problem (screen, opis, komunikaty, nazwa stylu/theme/szablonu): Mam nietypowy problem. Chcę na forum wrzucić slider, który korzysta z biblioteki w wersji 1.9.1 oraz skrypty na forum (tooltip, aktywne zakładki) korzystające z biblioteki 1.6.2. Da się je jakoś pogodzić ze sobą? Potrzebuje wszystkich działających skryptów.
Śmiem twierdzić, że jquery jest kompatybilne wstecz tzn. należy korzystać z najnowszej wersji a nawet stare skrypty powinny działać...tak mi się wydaje ;).
Pozdrawiam.
Powinny lecz nie działają..
No to trzeba znaleźć takie, które działają. Ja używam najnowszej stabilnej jQuery (1.10.2) i wszystko co mi potrzebne działa bez problemu. Tooltip i zakładki + wiele innych rzeczy można zrobić za pomocą jQuery UI: http://jqueryui.com/ które jest dostosowywane do każdych wersji jQuery. A sliderów można znaleźć setki, z czego przynajmniej ćwierć (choć stawiałbym na więcej niż połowę) działa na najnowszej wersji.

A pogodzić 2 wersje się da, ale dużo z tym roboty: http://stackoverflow.com/questions/15665...-same-page Na pewno więcej niż przy dobraniu odpowiednich skryptów do jednej wersji.
Trochę to dziwne, bo z logicznego punktu widzenia, nowa wersja czegoś zawiera w dalszym ciągu starszą wersję uzupełnioną o nowe rzeczy i ewentualnie poprawione błędy.
Przynajmniej tak powinno być, a jest na pewno w wielu przypadkach. Piszę tutaj ogólnie, nie tylko o jQuery.
Kod:
<script type="text/javascript" src="costam1.6.2">
jQuery.noConflict();
jQuery(document).ready(function() {
    // jQuery.costam zamiast $.costam
});

<script type="text/javascript" src="costam1.9.1">
.....
gdy zastąpię 1.6.2 na 1.10.1 nie działa mi żaden skrypt co mnie dziwi.

A po odpowiednim ułożeniu js na 1.6.2 nie działa tylko toltip.
EveryOne napisał(a):gdy zastąpię 1.6.2 na 1.10.1 nie działa mi żaden skrypt co mnie dziwi.

No to jest raczej dziwne, bo ja mam 1.10.2 i działa wszystko, nie tylko skrypty MyBB ale również inne duperele dodane przeze mnie do forum :)
Udało mi się dorwać slider na 1.6.2 lecz nie gdzy go wepnę działa albo on albo tiptip. Ułoży mi to ktoś tak żeby działało wszystko?

Kod:
<link rel="alternate" type="application/rss+xml" title="{$lang->latest_threads} (RSS 2.0)" href="{$mybb->settings['bburl']}/syndication.php" />
<link rel="alternate" type="application/atom+xml" title="{$lang->latest_threads} (Atom 1.0)" href="{$mybb->settings['bburl']}/syndication.php?type=atom1.0" />
<meta http-equiv="Content-Type" content="text/html; charset={$charset}" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/prototype.js?ver=1603"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/general.js?ver=1603"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/popup_menu.js?ver=1600"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/tiptip.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/member.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/login.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/panel.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/cookies.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/easing.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/fancycollapses.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/script.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/sidebar_2.0.js"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($) {
jQuery(".tipTip").tipTip();
});
</script>
<script type="text/javascript">
jQuery(window).load(function(){
jQuery('#wczytywanie').fadeOut('slow',function(){
jQuery(this).remove();
});
});
</script>

<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {

    jQuery('a[href=#top]').click(function(){
        jQuery('html, body').animate({scrollTop:0}, 'slow');
        return false;
    });

});
</script>
<script>window.jQuery || document.write('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">\x3C/script>')</script>
<script defer src="{$mybb->settings['bburl']}/images/wojna/slider/jquery.flexslider.js"></script>
  <script type="text/javascript">
    $(function(){
      SyntaxHighlighter.all();
    });
    $(window).load(function(){
      $('.flexslider').flexslider({
        animation: "slide"
      });
    });
  </script>
    <link rel="stylesheet" href="{$mybb->settings['bburl']}/images/wojna/slider/flexslider.css" type="text/css" media="screen" />
{$stylesheets}
<script type="text/javascript">
<!--
    var cookieDomain = "{$mybb->settings['cookiedomain']}";
    var cookiePath = "{$mybb->settings['cookiepath']}";
    var cookiePrefix = "{$mybb->settings['cookieprefix']}";
    var deleteevent_confirm = "{$lang->deleteevent_confirm}";
    var removeattach_confirm = "{$lang->removeattach_confirm}";
    var loading_text = '{$lang->ajax_loading}';
    var saving_changes = '{$lang->saving_changes}';
    var use_xmlhttprequest = "{$mybb->settings['use_xmlhttprequest']}";
    var my_post_key = "{$mybb->post_code}";
    var imagepath = "{$theme['imgdir']}";
// -->
</script>
{$newpmmsg}
Prosze:
Kod:
<link rel="alternate" type="application/rss+xml" title="{$lang->latest_threads} (RSS 2.0)" href="{$mybb->settings['bburl']}/syndication.php" />
<link rel="alternate" type="application/atom+xml" title="{$lang->latest_threads} (Atom 1.0)" href="{$mybb->settings['bburl']}/syndication.php?type=atom1.0" />
<meta http-equiv="Content-Type" content="text/html; charset={$charset}" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/prototype.js?ver=1603"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/general.js?ver=1603"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/popup_menu.js?ver=1600"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/tiptip.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/member.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/login.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/panel.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/cookies.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/easing.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/fancycollapses.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/script.js"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/images/wojna/js/sidebar_2.0.js"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery(".tipTip").tipTip();
});
</script>
<script type="text/javascript">
jQuery(window).load(function(){
jQuery('#wczytywanie').fadeOut('slow',function(){
jQuery(this).remove();
});
});
</script>

<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {

    jQuery('a[href=#top]').click(function(){
        jQuery('html, body').animate({scrollTop:0}, 'slow');
        return false;
    });

});
</script>
<script>window.jQuery || document.write('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">\x3C/script>')</script>
<script defer src="{$mybb->settings['bburl']}/images/wojna/slider/jquery.flexslider.js"></script>
  <script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {
    jQuery(function(){
      SyntaxHighlighter.all();
    });
    jQuery(window).load(function(){
      jQuery('.flexslider').flexslider({
        animation: "slide"
      });
    });
});
  </script>
    <link rel="stylesheet" href="{$mybb->settings['bburl']}/images/wojna/slider/flexslider.css" type="text/css" media="screen" />
{$stylesheets}
<script type="text/javascript">
<!--
    var cookieDomain = "{$mybb->settings['cookiedomain']}";
    var cookiePath = "{$mybb->settings['cookiepath']}";
    var cookiePrefix = "{$mybb->settings['cookieprefix']}";
    var deleteevent_confirm = "{$lang->deleteevent_confirm}";
    var removeattach_confirm = "{$lang->removeattach_confirm}";
    var loading_text = '{$lang->ajax_loading}';
    var saving_changes = '{$lang->saving_changes}';
    var use_xmlhttprequest = "{$mybb->settings['use_xmlhttprequest']}";
    var my_post_key = "{$mybb->post_code}";
    var imagepath = "{$theme['imgdir']}";
// -->
</script>
{$newpmmsg}