我正在使用带有Handlebars.js模板库的Backbone.js。
除了IE8之外,所有其他浏览器都可以正常工作。我最终将问题缩小到了这一点。
在我的Backbone视图中,我有以下几点
// rendering each events item in the list
render: function() {
$(this.el).append(this.template({item:this.model.toJSON()}));
return this;
}
它相当简单,并且可以在IE9上工作。但在IE8上,不会显示任何内容。一片空白。当我这样做的时候
$(this.
我有一个布局问题,这是由于包含的页面在IE8上以兼容模式呈现。是否有一种方法可以检测是什么导致IE8进入特定页面的兼容性模式?
根据微软的文档,以下条件可能导致页面以兼容性模式()呈现:
启用兼容性视图。页加载在内联网区域中,Internet 8配置为兼容视图中的内联网区域中的页。Internet Explorer 8配置为显示兼容性视图中的所有网站。Internet Explorer 8配置为使用兼容性视图列表。它指定始终显示在兼容性视图中的一组网站。开发人员工具用于覆盖网页中指定的设置。网页遇到页面布局错误,Internet 8被配置为通过在兼容性视图中重新打开页面来自动恢复。
在查看页面
在我的文档中,我在html5页面中添加了<div data-bind="text: ko.toJSON($root)"></div>。不幸的是,IE8给了我一个错误'Unable to apply binding to $root‘或类似的错误。
在FF和Chrome上没有问题。
如何恢复当前视图模型的json转储以满足调试需要?
在标准模式下,使用严格的文档类型,该站点在IE8中呈现得很好。他们也有IE8,我认为它是以怪癖模式呈现给他们的。
为什么它会以怪癖模式呈现给他们,而不是其他任何人?会不会是他们的兼容性视图设置?我给了他们取消选中"Display Intranet sites in Compatibility Mode”和“Display all websites in Compatibility Mode”的说明。
如果这不起作用,还有其他的想法吗?