Chcę dołączyć jquery do pliku, jeśli nie jest już dołączony do strony. Jak mogę to zrobić?Dołącz jQuery, jeśli nie jest już dołączony
Napisałem to, ale daje niepożądane wyniki.
Chcę dołączyć jquery do pliku, jeśli nie jest już dołączony do strony. Jak mogę to zrobić?Dołącz jQuery, jeśli nie jest już dołączony
Napisałem to, ale daje niepożądane wyniki.
Nie możesz tego zrobić w PHP. Spróbuj tego zamiast
<script type="text/javascript">
if(typeof jQuery == 'undefined'){
document.write('<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></'+'script>');
}
</script>
Ten styl przypisania 'onload' ryzykuje nadpisanie. Również wywołanie 'document.write' po wywołaniu zdarzenia' onload' spowoduje wyrzucenie istniejącego dokumentu! – Quentin
Dzięki. Zmodyfikowałem swój kod: – Sethunath
@Sethunath: Ani twój, ani mój kod nie działa. Kiedy wykonuję to na stronie, koniec po wewnętrznej pojawia się na stronie ** '); } ** – Thompson
Twój PHP działa na serwerze i wypisuje tekst.
Przeglądarka interpretuje ten tekst jako HTML i JavaScript.
Nie można uruchomić PHP na serwerze, w dokumencie, który już wysłał do przeglądarki, w odpowiedzi na logikę uruchomioną w przeglądarce.
Musisz to zrobić całkowicie w JavaScript lub, bardziej po prostu, uporządkować logikę po stronie serwera, aby śledzić, czy jQuery został dołączony, czy nie.
Można spróbować poniżej:
<script>window.jQuery || document.write('<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"><\/script>')</script>
<script type="text/javascript">
if(typeof jQuery == 'undefined'){
var oScriptElem = document.createElement("script");
oScriptElem.type = "text/javascript";
oScriptElem.src = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";
document.head.insertBefore(oScriptElem, document.head.getElementsByTagName("script")[0])
}
</script>
Wiele innych odpowiedzi znacznik skryptu w tagu skryptu. Lubię twoją odpowiedź lepiej. Moją jedyną sugestią byłoby nie sprawdzać jQuery typu i po prostu porównać go z niezdefiniowanym. '' if (jQuery == undefined) '' –
Trudne undefined może nie być niezdefiniowane, jeśli undefined został przedefiniowany w jakimś kodzie powyżej. Ale z pewnością rób to, co uważasz za najlepsze. – noob
Jeśli chcesz to zrobić w PHP, który moim zdaniem jest lepiej, można to zrobić
przed wywołaniem funkcji load() utwórz zmienną taką jak:
var load_script = 'no';
Funkcja load() pobiera opcjonalny parametr, za pomocą którego można przesłać dane do serwera. Użyj go, aby opublikować load_script zmienną utworzoną wcześniej jak tego
$ ('#') receiver_div obciążenia ('mojastrona.html', { 'load_script': load_script}., Funkcji (HTML) {
// rzeczy do zrobienia po stronie obciążenia
})
Następnie na stronie ładowanego, złapać zamieszczonych wartość jak ten
$ load_script = $ _POST ('load_script');
Następnie można zrobić if wykluczyć scenariusza, który ma jak tego
if ($ load_script!= "nie") {
echo "<script src="jquery.js"></script>"
;}
pokrewne: http://stackoverflow.com/questions/6787569/best-way-to-avoid-including-stylesheets-external-js-more-than-once-in-a- strona –