jQuery Mustache 无法在 IE 8 上运行

发布于 2024-12-03 23:04:12 字数 878 浏览 2 评论 0原文

我已将丑陋的数据解析逻辑转换为 Mustache(对于 http://loop.pk)。非常整洁的东西。我在 Ubuntu/Linux 中进行所有开发,所以我没有注意到,但数据没有显示在 IE 中。

我已经追踪到这一行的错误,“数据”是完美的,填充的并且符合预期。不知道为什么会失败。

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

这是我的模板的外观:

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

这是数据的外观:

{"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"}.............

请帮忙!

I have converted my ugly data parsing logic to Mustache (for http://loop.pk). Pretty neat stuff. I do all my development in Ubuntu/Linux so I didn't notice but the Data doesn't show up in IE.

I have traced down error to this line, the "data" is perfect, populated and as expected. Don't know why this fails.

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

Here's how my template looks:

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

And here's how data looks like:

{"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"}.............

Please help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独自唱情﹋歌 2024-12-10 23:04:12

我假设您的脚本标签中有模板,例如:

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

看起来您正在使用 https ://github.com/thinkdevcode/jQuery-Mustache 这似乎是这里的问题...

所以,它基本上所做的就是返回,

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

但在 IE 中,text() 调用什么也不返回。相反,如果使用 html() ,它将在所有浏览器中工作。

所以,我的建议是:

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

I'm assuming you have the template inside a script tag, something like:

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

And it looks like you're using https://github.com/thinkdevcode/jQuery-Mustache which appears to be the problem here...

So, all it basically does is to return

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

but in IE the text() calls returns nothing. Instead if html() was used it would work in all browsers.

So, my suggestion is to just do:

$(Mustache.to_html($('#template_smslist').html(), data))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文