我使用Grunt JST插件编译了许多模板。我刚刚发现这个编译好的字符串导致了一个"意外的标识符" IE8中的错误,我还没弄清楚原因。
this["JST"]["/tpl/general/pagination.tpl.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape, __j = Array.prototype.join;function print() { __p += __j.call(arguments, '') }with (obj) {
var page = page || 1,
prevPage = 1,
nextPage = 1,
limit = limit || 12,
total = total || limit,
pages = Math.ceil(total/limit),
attributes = attributes || [];
page = parseInt(page);
(page > 1)? prevPage = page - 1: false;
(page < pages)? nextPage = page + 1: false;;__p += '\r\n\r\n'; if(total > limit){ ;__p += '\r\n\t<div class="pagination" '; for(var i = 0; i < attributes.length; i += 1){ print("data-"+attributes[i].name+"='"+attributes[i].value+"' ");} ;__p += '>\r\n\t <ul>\r\n\t <li '; if(page == 1){ print("class='disabled'"); };__p += ' ><a href="#" data-page="' +((__t = (prevPage)) == null ? '' : __t) +'">Prev</a></li>\r\n\t '; for(var i = 1; i <= pages; i+=1){ ;__p += '\r\n\t\t\t<li '; if(i == page){ print("class='active'"); };__p += ' ><a href="#" data-page="' +((__t = (i)) == null ? '' : __t) +'">' +((__t = (i)) == null ? '' : __t) +'</a></li>\r\n\t\t'; } ;__p += '\r\n\t <li '; if(page == pages){ print("class='disabled'"); };__p += ' ><a href="#" data-page="' +((__t = (nextPage)) == null ? '' : __t) +'">Next</a></li>\r\n\t </ul>\r\n\t</div>\r\n'; } ;}return __p};
有谁能看到我在这里失踪的东西?
编辑:未编译的模板:
<%
var page = page || 1,
prevPage = 1,
nextPage = 1,
limit = limit || 12,
total = total || limit,
pages = Math.ceil(total/limit),
attributes = attributes || [];
page = parseInt(page);
(page > 1)? prevPage = page - 1: false;
(page < pages)? nextPage = page + 1: false;
%>
<% if(total > limit){ %>
<div class="pagination" <% for(var i = 0; i < attributes.length; i += 1){ print("data-"+attributes[i].name+"='"+attributes[i].value+"' ");} %>>
<ul>
<li <% if(page == 1){ print("class='disabled'"); }%> ><a href="#" data-page="<%=prevPage%>">Prev</a></li>
<% for(var i = 1; i <= pages; i+=1){ %>
<li <% if(i == page){ print("class='active'"); }%> ><a href="#" data-page="<%=i%>"><%=i%></a></li>
<% } %>
<li <% if(page == pages){ print("class='disabled'"); }%> ><a href="#" data-page="<%=nextPage%>">Next</a></li>
</ul>
</div>
<% } %>
答案 0 :(得分:0)
我开始从开发控制台收到有关错误实际位置的不一致消息。我最终不得不通过警报方法逐步完成此页面的加载过程,以查看错误输出的确切位置。我在jQuery中不熟悉这个问题,但这就是我在做的事情:
$('head > title').html(NEWTITLE);
在IE8中,您无法以这种方式修改文档标题。你需要使用:
document.title = NEWTITLE;
一旦我把它放到位,一切都开始工作了。这包括具有未编译模板的站点和已编译的模板。事实证明它与JST无关。