0

我有一些使用Grunt JST插件編譯的模板。我剛剛發現,這個編譯的字符串在IE8中導致了一個「Unexpected Identifier」錯誤,我還沒有弄清楚爲什麼。已編譯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> 
<% } %> 
+1

'obj'有沒有可能的尾隨逗號? – brbcoding 2014-10-07 15:42:32

+0

我只是檢查了每個對這個模板的調用,他們都看起來是乾淨的任何尾隨的逗號。不過謝謝你的想法。 – 2014-10-07 16:09:23

+0

你可以發佈未編譯的模板嗎? – Bergi 2014-10-07 16:16:41

回答

0

我開始從開發者控制檯關於在錯誤實際上是位於不一致的消息。我最終不得不通過警報方法逐步完成此頁面的加載過程,以查看它發生錯誤的位置。我不熟悉這個問題jQuery的,但這裏是我在做什麼:

$('head > title').html(NEWTITLE); 

在IE8無法修改文檔標題這樣。你需要使用:

document.title = NEWTITLE; 

一旦我把這個地方,一切都開始工作。這包括具有未編譯模板的網站和已編譯的網站。事實證明,這與JST無關。