Backbone.js - 在Safari中显示视图的问题

时间:2013-03-01 09:42:40

标签: backbone.js mobile-safari

我有一个应用程序,旨在重新创建一个标准网站,包括标准页面和列出类别和文章的新闻模块。当您访问新闻时,将显示新闻页面中的内容,以及类别列表或文章列表。在这种情况下,当您查看新闻页面时,(2)将显示类别。

在Chrome,Firefox和IE上,我可以在我的页面之间点击并返回新闻 - 进入类别,项目列表和文章,然后返回主条目新闻页面而不会出现问题。视图(对于主条目页面)始终显示正确的HTML。但是,在Windows和ipad上的Safari中,虽然一切都很好,但最终(或有时更早!),新闻条目页面上应显示类别的HTML不会显示。更令人沮丧的是问题是间歇性的 - 我可以点击回到其他页面,然后回到新闻,现在显示HTML类别!控制台显示正确的响应和来自我的休息电话的HTML:

[{"id":"22","indexID":"general", "name":"General"},{"id":"23","indexID":"newnewscat","name":"New News Cat"}]

只是我的观点没有显示HTML。

在我的路由器中,我有“news /:indexID”:“getNews”

并且getNews函数是

getNews:function(indexID) {
if (indexID == "index") {
    this.getPage("news"); // display cms info for news page eg title and long desc
    // do we show categories or listings?
    var type = this.showItemListingOrCategories("news"); 
    if (type.showCats == 1) {
        // show cat listings 
        var newsCategories = new App.Collection.NewsCategory();
        newsCategories.fetch({
            success:function() {
                var newsCategoryListing = new App.View.NewsCategoryListing({collection:newsCategories});
                newsCategoryListing.render(".span9");
            }
        })  
    }
    else {
        // show item listings 
        var newsItems = new App.Collection.NewsItem([],{indexID:indexID});
        newsItems.fetch({
            success:function() {
                var newsItemListing = new App.View.NewsItemListing({collection:newsItems}); 
                newsItemListing.render({element:".span9",type:"page"});
            }
        });     
    }
}

}

newsCategoryListing视图是

App.View.NewsCategoryListing = Backbone.View.extend({
    tagName: "table",
    className:"catListing",
    render:function($element){console.log("hello");this.collection.each(function(newsCategory) {
            this.$el.append(new App.View.NewsCategoryItem({model:newsCategory}).render().el).appendTo($element);    
        },this);          
        return this;

});

我在上面的渲染函数中添加了一个console.log(“hello”) - 当无法显示类别列表的html时,这个正确显示。

我希望这是足够的信息 - 其他人是否有与Safari类似的问题?

非常感谢

0 个答案:

没有答案