如何防止javascript多次加载

时间:2017-05-19 00:11:15

标签: javascript jquery ajax

我正处于问题的中间。我已经创建了一个应用程序,我已经指定DIV由ajax加载。每个DIV对应于特定模块(如与产品细节相关的一个模块,与定价和可用性相关的另一个DIV)。每个模块都是一个URL。

DIV1 ---了解产品详情 DIV2 ---定价 DIV3 --- catogorisation

所有这些DIV都是异步加载的。在类别模块中,我有类别浏览的特殊javascript控件作为树视图。

我面临的问题是,如果我将javascript库放在主页面中,控件就不会显示出来。如果我将库放在DIV3的URL源页面中,那么它会多次加载并挂起我的应用程序。

我的问题是,如果用户一次又一次刷新DIV,我怎么能阻止多次加载这个库。

或者如果它似乎是一个设计问题,请您提出正确设计的建议。我很想知道如何卸载库。我是java程序员,并以这种方式思考。我可能对javascript工作有一些错误的理解

提前致谢
Jujhar

1 个答案:

答案 0 :(得分:1)

只有在加载脚本标记时才必须执行Javascript代码。如果您只是将相关代码放在函数中并从ajax函数中的成功回调中调用它,则可以轻松避免此问题。

  1. <script>移至html正文
  2. 在功能中包装相关代码
  3. 的Javascript

    function myFunction() {
      //... your code
    }
    
    1. 在您的ajax成功回拨中调用myFunction
    2. 的Ajax

      $.get("/url", function(data) {
        //add div to page
        myFunction();
      });