簡體   English   中英

如何停止重新加載Javascript

[英]How to stop reloading of Javascript

由於Tiles,我無法重新加載Javascript。

瓷磚,definition.xml

<tiles-definitions>
         <definition name="template-main" template="/WEB-INF/jsp/home.jsp">
              <put-attribute name="header-main-content" value="/WEB-INF/jsp/header_main.jsp"/>  
              <put-attribute name="header-quote-content" value="/WEB-INF/jsp/header_quote.jsp" />
              <put-attribute name="menu-content" value="/WEB-INF/jsp/menu.jsp" />
              <put-attribute name="body-content" value="/WEB-INF/jsp/slides.jsp" />
              <put-attribute name="footer-content" value="/WEB-INF/jsp/footer.jsp" />
         </definition>

         <definition name="template-main-login" extends="template-main">
              <put-attribute name="header-main-content" value="/WEB-INF/jsp/header_main.jsp" />
         </definition> 
</tiles-definitions>

針對home.jsp

<body style="background-color: #5F9EA0">

    <head>
        <script src="<c:url value="/resources/js/jquery-1.11.1.js" />"></script>
        <script src="<c:url value="/resources/js/example.js" />"></script>

        bla bla .. 

example.js

$(document).ready(function() {
    setTimeout(function () {
        popUp('show');
    }, 1000);

});

我正在使用Spring-MVC:

加載應用程序后,我將視圖作為template-main返回。 因此,將調用第一個模板定義,並使用登錄彈出窗口打開應用程序,因為我在文檔加載時調用彈出窗口。

問題:

現在,當我提供登錄憑據並提交時,我正在調用template-main-login ,而后者又擴展了template-main 現在的問題是,我再次包含在home.jsp中的Javascript正在加載(可能是因為我正在擴展模板主布局),這樣我第二次打開了要停止的彈出窗口。

因此,請讓我知道如何停止再次打開彈出窗口。

我建議不要將home.jsp用作模板,而只為模板制作一個單獨的jsp,basetemplate將具有諸如加載外部js和css文件並將特定js代碼保留在特定jsp中的通用內容

您需要確保您的JS文件具有正確的緩存控制/過期標頭(設置長日期或使用ETag)。 如果使用ETag,則靜態文件仍將查詢服務器實現,以檢查文件哈希是否已更改。 您可以通過在所有靜態文件上使用expires頭來避免這種情況,以便瀏覽器可以緩存它們並從本地計算設備加載它們,而不是向服務器發送HTTP請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM