3

J'ai converti ma logique d'analyse de données moche à Moustache (pour http://loop.pk). Des trucs sympa. Je fais tout mon développement sous Ubuntu/Linux donc je n'ai pas remarqué mais les données n'apparaissent pas dans IE.jQuery Moustache ne fonctionne pas sur IE 8

J'ai tracée une erreur sur cette ligne, la "donnée" est parfaite, remplie et comme prévu. Je ne sais pas pourquoi cela échoue.

$('#template_smslist').mustache(data).prependTo('#tab_inbox'); 

Voilà comment mon modèle ressemble:

{{#sms}} 
<div class="sms_recvd sms_list a"> 
    <div class="sms_list_text">{{text}}</div> 
    <div class="sms_list_time">{{tstamp}}</div> 
</div> 
{{/sms}} 

Et voici comment les données ressemble à:

{"sms":[{"id":"1727591","text":"Fb shabantoo","tstamp":"1315597361"},{"id":"1727580","text":"Fb and dj shahruk rocking it again","tstamp":"1315597106"},{"id":"1727466","text":"Fb i see unicorns","tstamp":"1315595994"},{"id":"1727214","text":"Fb i see rainbows","tstamp":"1315593322"}............. 

S'il vous plaît aider!

Répondre

8

Je suppose que vous avez le modèle dans une balise de script, quelque chose comme:

<script type="text/x-mustache-tmpl" id="template_smslist"> 
... 
</script> 

Et il semble que vous utilisez https://github.com/thinkdevcode/jQuery-Mustache qui semble être le problème ici ...

Donc, tout ce qu'il fait est essentiellement de retourner

$(Mustache.to_html($('#template_smslist').text(), data)) 

mais dans IE les appels text() ne renvoie rien. Au lieu de cela, si html() était utilisé, il fonctionnerait dans tous les navigateurs.

Donc, ma suggestion est de faire simplement:

$(Mustache.to_html($('#template_smslist').html(), data)) 
+0

Vous êtes un sauveur Andreas, souhaite que je pourrais doubler cocher votre réponse. Merci beaucoup. Pouvons-nous forcer les gens de jQuery.Mustache sur Github à changer le texte en html ?? – BlackDivine