Widziałem strony, które instruują lub pytają, jak wrócić z Zepto do jQuery (szczególnie dla IE), jako here on SO i tutaj na Zepto.js official page.
Widziałem również przykłady, jak wrócić z jQuery hostowanej przez Google do lokalnej witryny jQuery, jak w Modernizr.load doc page.Jak wrócić z Zepto, do Google CDN jQuery, do lokalnego jQuery?
Moje pytanie brzmi: jak mogę połączyć te dwie rzeczy? Być może również bez użycia Modernizr.load, używając tylko odpowiednich bloków <script>
?
Oto, co wymyśliłem, ale wygląda na to, że IE nigdy nie znajdzie wersji hostowanej przez Google. Ponadto nie jestem pewien, czy zadanie Zepto = jQuery
działa poprawnie.
<script>
document.write('<script src=' +
('__proto__' in {} ?
'js/vendor/zepto.min' :
'https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min') +
'.js><\/script>');
</script>
<script>
if (window.jQuery) {
window.Zepto = window.jQuery; /* let jQuery alias Zepto */
}
else
{ /* here jQuery could be rightly undefined because Zepto is loaded,
so this could be wrong. */
document.write('<script src=' +
'js/vendor/jquery-1.8.0.min' +
'.js><\/script>');
}
</script>
<script>
if (window.jQuery) {
window.Zepto = window.jQuery; /* let jQuery alias Zepto */
}
else
{
/* same problem as before */
console.error('Zepto nor jQuery available!');
}
</script>
Czy istnieje lepszy sposób? TA
Edit
Po @Ashfame odpowiedzi, to co Użyłem:
<!-- Load local Zepto.js or (as a fallback) jQuery from Google CDN or (as a fallback) local jQuery -->
<script>
document.write('<script src="' + ('__proto__' in {} ?
'js/vendor/zepto' :
'http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery') +
'.min.js"><\/script>')
</script>
<script>
window.Zepto || window.jQuery || document.write('<script src="js/vendor/jquery-1.8.0.min.js"><\/script>');
</script>
nie mogę użyć adresu URL protokołu mniej/schemat mniej Google CDN za z jakiegoś powodu nie działało na moim lokalnym IE9 (dużo czeka, potem zawsze wraca do lokalnego).
Nie zamieniłem już aliasu na Zepto
z jQuery
: właśnie użyto $
w kodzie JS.
Nie wydaje mi się, aby wystąpił problem związany z ładowaniem jQuery z zamówienia w.r.t. kod zależny.
Próbowałem także z '//ajax.googleapis.com/...', to znaczy bez prefiksu protokołu – superjos
Próbowałem również z [ten fragment] (https://gist.github.com/3325940) prawdopodobnie przez użytkownika @ Sébastien Grosjean - ZenCocoon: wydawało się, że działa dobrze, ale potem nie chciałem używać CDN Cloudflare ani żadnego innego Zepto CDN. – superjos
Próbowano również z 'Modernizr.load', ale jakoś wydawało się to trochę za dużo do tego celu. Oczywiście mogę się mylić. – superjos