2016-10-21 67 views
3

最初,當我想在我ios9.3.x設備加載searchresult.jsp它給我一個提示以下錯誤:由於ractive: webpage not loading only in ios9 safari browser網站甚至沒有ractive解析後,在ipad ios9.3.5僅載入

我已經通過分區解決了這個問題,並在除9.3.5之外的所有ios9版本中進行了準備。這個問題存在於這個ios9.3.5中,而在其他版本中它工作正常。

我的代碼解釋如下

在這裏,我想追加一個searchResult.jsp(ID = searchResultID)文件在我的index.jsp文件中使用下面的代碼:

<Start-code of index.jsp> 
. 
. 
    <div class="allDetailsSection"></div> 
    <jsp:include page="/pages/searchResults/searchResult.jsp"> 
    </jsp:include> 
. 
. 
<end-code of index.jsp> 

我們有一個js的方法setDetails()包含下面的代碼來顯示解析的模板:

var temp = $("#searchResultID").text(); 
var displaysection = Ractive.parse(temp);//creating a preparsed template. 
ractive = ractiveInitialize(".allDetailsSection", displaysection); 

還或者我們也用下面的方法來解析:

var ractive = new Ractive({ 
     el: ".allDetailsSection", 
     template:displaysection, 
}); 

但還是隻有我一個人在獲得了ios9.3.5同樣的錯誤。任何人都可以請幫我解決這個問題。 當我嘗試在ios9.3.5的Chrome中重現此問題時,瀏覽器崩潰並消失。

請幫我解決這個問題。

+0

現在我試圖刪除我的模板(searchResult.jsp)中的一些非強制div元素,以確保模板的大小是否會導致此問題。 在產生結果的同時,頁面顯示彈出式窗口,重新提交正確加載的頁面。 因此,我確認searchResult.jsp中代碼的大小是問題的根本原因。 –

+0

如果我們手動重新提交頁面,則通過顯示searchResult,頁面正常工作。 那麼,我應該使用哪個異常處理程序來捕獲此異常並通過javascript重新加載頁面? –

回答

1

有點晚,但爲了避免Safari瀏覽器的bug,您必須在構建步驟或服務器上解析模板。當它到達瀏覽器時,它必須已經是JSON格式。

如果您可以在自己的腳本標記中將模板分割爲多個部分,那麼這也會使safari免於爆炸。

+0

你能告訴我一些例子。 –