如何停止重新加载Javascript

如何停止重新加载Javascript,javascript,jquery,spring,jsp,tiles,Javascript,Jquery,Spring,Jsp,Tiles,我有一个问题,由于瓦片Javascript重新加载 Tiles 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"

我有一个问题,由于瓦片Javascript重新加载

Tiles 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>
我正在使用Spring MVC:

加载应用程序时,我将以模板主视图的形式返回视图。因此,第一个模板定义被调用,当我在文档加载时调用弹出窗口时,应用程序将以登录弹出窗口打开

问题:

现在,当我给出登录凭据并提交时,我正在调用模板主登录名,这反过来又扩展了模板主登录名。现在的问题是,我在home.jsp中包含的Javascript再次加载(可能是因为我扩展了模板主布局),这样我就可以第二次打开弹出窗口,我想停止它


因此,请让我知道如何再次停止弹出窗口的打开。

我建议不要制作home.jsp,因为您的模板只为您的模板制作一个单独的jsp,basetemplate将具有加载外部js和css文件以及在特定jsp中保留特定js代码等通用功能。

您需要确保您的js文件具有正确的缓存控制/过期标头(设置长日期或使用ETags)。如果使用etag,静态文件仍将查询服务器实现,以检查文件哈希是否已更改。您可以通过在所有静态文件上使用expires头来避免这种情况,这样浏览器就可以缓存这些文件并从本地计算设备加载它们,而不是向服务器发送HTTP请求

您在JS文件的缓存头中指定了什么?现在浏览器工具中显示了什么?如果使用varnish/nginx甚至tomcat,您可以为这些静态文件指定头,以便在浏览器中缓存它们(在一段时间内或通过ETags-ETags将查询服务器以查看文件哈希是否仍然有效)。@alihaider我没有使用任何缓存头。。它只是一个普通的js文件。是的,我正在使用Tomcat。那么我的js将包括在哪里呢?即使我在基本模板中包含我的js,我仍然必须扩展基本模板rt?我想说的是,由于弹出代码特定于your home.jsp,所以只在该jsp中编写该部分,以便它不会出现在任何其他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 .. 
$(document).ready(function() {
    setTimeout(function () {
        popUp('show');
    }, 1000);

});