Firefox无法呈现jQuery模板

时间:2012-07-20 14:15:17

标签: javascript jquery templates firefox jquery-templates

我正在为我开发的网站使用jQuery模板,它们在Chrome,Safari甚至IE9上运行得非常好,但模板不会在Firefox上呈现。我正在外部加载它们,并且$ .get被处理(我已经检查过Firebug,获取通过并拉出正确的文件),但后来我打了一个空白页面并检查html显示了body元素只包含页脚(包含在html中),但是display:none,它应该是这样的,所以javascript运行完成(因为页脚隐藏在loadtemplate函数中)。似乎Firefox只是在跳过$ .tmpl()调用。这是功能:

var loadTemplate = function(templateName){
     $.get(templateName, function(template){
        $.tmpl(template).appendTo("body");
    });
};
var loadHomePage = function(){
    history = [];
    clearPage();
    loadTemplate("./templates/home.tmpl");
    current_page = "./templates/home.tmpl";
}
var clearPage = function(){
  $(".page-content").remove();
  $(".page-header").remove();
  $("#popup-container").remove();
  $(".page-footer").hide();
};

非常感谢任何帮助,如果需要,我可以跟进更多代码。

编辑:甚至可以在Opera上工作,我不需要支持它,因此样式不起作用(使用LESS,Opera不支持,css文件严格用于IE),但它仍然加载模板一个问题。

1 个答案:

答案 0 :(得分:0)

请求模板可能会被某些浏览器以HTML格式处理,从而导致模板损坏。尝试将数据类型设置为“text”,以便所有浏览器正确返回未修改的文本。

$.get(templateName, function(template){
    $.tmpl(template).appendTo("body");
}, "text");