$.browser nedefinit aparent cauzează afișarea defectuoasă a paginii (WordPress, Jquery, Wp Enqueue Script)

rhand a intrebat.

La acest site am o eroare în cazul în care folosesc tema părinte jquery.PrettyPhoto.js Acest lucru face ca tab-urile să nu se încarce bine și nici galeria să funcționeze bine se pare. Eroarea spune

TypeError: $.browser is undefined
http://www.domain.com/wp-content/themes/decondo/lib/scripts/pretty/jquery.prettyPhoto.js?ver=2.5
Line 59

Am pus în coadă jQuery Migrate – v1.0.0 – 2013-01-14 cu următorul cod (întreaga funcție adăugată): http://pastebin.com/EC3XrTiq

în function.php al temei părinte, deoarece am crezut că ar avea legătură cu o funcție jQuery învechită – vezi https://stackoverflow.com/questions/14524289/browser-is-undefined-error -.

Am găsit un alt fir de discuție la SE care sugera adăugarea funcției $.browser menționând că această funcție nu mai este folosită de la 1.3. Versiunea încărcată pe paginile respective este 1.8.3, așa că aceasta ar putea fi problema atunci. Ciudat că nu am avut problema mai devreme, dar oricum.

Mi-am dat seama că jQuery migrate nu era încărcat verificând aceste pagini în Firebug. I se află aici cu siguranță totuși și aș spune că drumul este corect.

Mulțumită unor cercetări suplimentare și a unei verificări în Safari folosind inspectorul, mi-am dat seama că scripturile jQuery migrate sunt deja încărcate de WordPress.

Acum rămâne întrebarea de ce galeria site-ului (probleme în Safari cu aspectul), meniul (dropdown rupt în Firefox) și filele (nu se încarcă în Firefox) nu se încarcă bine și dacă funcția depreciată a browserului cauzează acest lucru sau nu.

Comentarii

  • Wordpress însuși pune în coadă jQuery Migrate nu este nevoie să îl puneți în coadă –  > Por sabarnix.
  • Actualizați WordPress încarcă scriptul jQuery Migrate în mod nativ – l-am găsit în Safari folosind inspectorul . Apoi, sunt încă blocat în rezolvarea acestei probleme cu prettyPhoto totuși. Nu se rezolvă defalcarea galeriei și a filelor (în Firefox nici filele nu sunt încărcate). Nici nu am găsit scriptul Migrate în lista de scripturi de pe această pagină WP Doc: codex.wordpress.org/Function_Reference/… –  > Por rhand.
  • @sabarnix Da, mulțumesc. Mi-am dat seama de asta. Așa că nu este nevoie de asta. Deci, ceea ce cauzează defalcarea meniului și a filelor, precum și a galeriei este încă problema. Nu cred că acestea sunt legate de javascript, dar chiar și cu scripturile de depanare activate nu apar alte erori sau avertismente. –  > Por rhand.
  • Se pare că superfish.js refuză să se încarce în Firefox. Se încarcă în Safari. Acest lucru cauzează problema cu dropdown. Tab-urile nu se afișează bine în FF nu este clar încă. –  > Por rhand.
2 răspunsuri
Rarst

Ceva îți încurcă coada de așteptare. URL-ul tău jQuery are versiunea 1.8.3, în timp ce aceasta nu este nici implicită în WP 3.9.1, nici fișierul real la care indică (1.11.0). Migrate nu apare nici pentru mine, probabil din cauza problemelor de acolo.

Efectiv, vă lipsește jQuery.browser deoarece a fost eliminat în versiunea 1.9+ și migrate nu este încărcat.

Comentarii

  • Da, ar trebui să fie 1.11.0 și acela este încărcat în Safari, dar nu și în Firefox. Ei bine, scrie 1.8.3, dar se pare că încarcă 1.11.0 de fapt. Iar în FF nici superfish.js nu se încarcă. Încă încerc să înțeleg. În FF home este foarte stricat acum. –  > Por rhand.
  • Ei bine, pentru început, nu ar trebui să spună 1.8.3. Este clar că ai ceva care interferează cu scripturile de bază acolo. –  > Por Rarst.
  • Se pare că pluginul meu NGG foarte personalizat a fost suprascris. Acest lucru a cauzat haos primar pe site. Se pare că se descurcă mai bine acum, dar serverul răspunde foarte încet atm. DH este, probabil, throttling RAM atm. Va verifica totul din nou puțin mai târziu. –  > Por rhand.
  • Chiar și cu plugin-ul înlocuit cu cel vechi, problema revine. Nu văd nicăieri un jQuery încărcat care să aibă șirul 1.8.3 adăugat, dar FF îl arată din nou, chiar dacă 1.11.0 este în spatele lui. jQuery este pus în coadă și ultimul WP încarcă 1.11.0. Va continua să caute. –  > Por rhand.
sabarnix

Am verificat site-ul dvs. jQuery migrate nu este enqueued deoarece versiunea de jquery enqueued este 1.8.3 și jquery migrate funcționează doar cu versiunea jquery peste 1.9 Probabil versiunea dvs. de wordpress în nu este cea mai recentă . Versiunea de preetyphoto este și ea învechită puteți folosi cea mai recentă versiune https://github.com/scaron/prettyphoto/blob/master/js/jquery.prettyPhoto.js aceasta nu folosește nici un $.browser.

Comentarii

  • Ce versiune de wordpress folosiți? –  > Por sabarnix.
  • Folosesc WordPress 3.9.1 care rulează tema copil deCondo –  > Por rhand.
  • Se pare că jQuery 1.11.0 corect este încărcat atunci când sunt logat și verificând frontend-ul, jQuery migrează la fel de bine. Dar, odată deconectat, acest lucru nu mai este cazul. Nu se încarcă jQuery Migrate și jQuery 1.8.3 ca șir de versiuni atașat, deși 1.11.0 este în spatele acestuia. Știu pentru că am verificat în Firebug în fila Net. Răspunsul arată 1.11.0. –  > Por rhand.
  • Site-ul pare să funcționeze bine acum, chiar dacă nu sunt logat. –  > Por sabarnix.
  • De asemenea, această pagină goo.gl/Gju6Oy ? După ce m-am deconectat și am verificat nu am văzut date în file și nici un meniu dropdown complet –  > Por rhand.