Javascript文件依赖项 – 选择性加载资源文件并防止重复

这可能更像是一场哲学辩论,但这就是我所拥有的:

  • 共享Javascript资源库以调用Web服务的两个控件。
  • 它们通常彼此结合使用,但并非总是如此。
  • 他们都引用的javacsript文件不容易分开。
  • 不应将javascript文件添加到应用程序中的每个页面。

理想情况下,我会在控件之间划分web服务,并且每个调用一个js资源文件,仅针对他们需要的function。

我想知道是否有一种明显更好的方式让我失踪……

我最简单的forms是:

   

Control1

Other stuff

Control2

编辑
如果这提供了一个有用的方法,我可以使用jQuery。

使用ASP.NET

如果这些控件不需要在它们之间共享信息,你可以查看jQuery的使用对象的方法,确保如果你以不同的方式命名主对象,它会实现(不确定这个词是否存在)2个变量相同的变量宾语。

可能最简单的方法是在使用一个或两个控件时包含整个js资源库。 这应该由您的服务器端脚本(PHP等)处理

例如:

      

Control1

Control2


页面加载时间意义上的最佳选择是创建资源库的三个版本。 然而,这很可能是矫枉过正。

  1. version包含控件A所需的部件
  2. 版本包含控件B所需的部件
  3. version包含控件A和B的所有必需部件

然后,您必须选择正确的版本,具体取决于您是使用控件A,控件B还是两者。

用以下JS和jQuery代码解决了我的问题

 if (thisResourceLoaded === undefined) { $.getScript('/Webservice.asmx/js'); var thisResourceLoaded = true; }