Verkeerde lay-out gebruikt bij eerste lading na overschakeling van/naar mobiele versie van applicatie

Ik heb twee layouts van applicaties: application.html.haml en application.mobile.haml. Maar wanneer ik overstap van mobiele naar niet-mobiele versie, wordt de mobiele lay-out nog steeds gebruikt voor de eerste keer laden. In Firebug-console zie ik dat de niet-mobiele weergave correct is geretourneerd, maar de browser en het Firebug HTML-tabblad tonen de mobiele lay-out. Enig idee wat er gaande is? Het is goed na een verversing.

0
esoterisch giswerk: wis uw cache tussen elke lading.
toegevoegd de auteur Dominic Goulet, de bron
Heeft u een link voor ons, anders is het esoterisch giswerk.
toegevoegd de auteur topek, de bron

2 antwoord

Het probleem bleek te zijn veroorzaakt door jQuery Mobile.

I found the answer here: http://jquerymobile.com/demos/1.0a3/docs/pages/docs-pages.html

JQuery Mobile laadt niet op de volledige pagina tenzij het wordt verteld, dus hoewel de volledige html is geretourneerd, heeft jQuery Mobile zojuist het paginagedeelte vervangen.

Het belangrijkste gedeelte van de documenten is: "Het is belangrijk op te merken dat als u een koppeling maakt vanaf een mobiele pagina die via Ajax is geladen naar een pagina met meerdere interne pagina's, u een rel =" external "of data-ajax =" false "aan de koppeling moet toevoegen. het kader om een ​​volledige pagina opnieuw te laden om de Ajax-hash in de URL op te ruimen. Dit is van cruciaal belang omdat Ajax-pagina's de hash (#) gebruiken om de Ajax-geschiedenis bij te houden, terwijl meerdere interne pagina's de hash gebruiken om interne pagina's aan te geven, zodat er een conflict zijn. "

0
toegevoegd

Onlangs kwam ik een soortgelijk probleem tegen.

In mijn geval hebben Rails4's turbolinks geleden. Net zoals bij jQuery Mobile, werkt turbolinks alleen het hoofdgedeelte van een volledige pagina bij zonder het hoofdgedeelte van de html bij te werken wanneer er op een koppeling tussen de sites wordt geklikt. Ik heb eenvoudigweg de vereiste regel voor turbolinks in mijn application.js verwijderd en het probleem verdwenen.

0
toegevoegd