Javascript文件依赖项 – 选择性加载资源文件并防止重复
这可能更像是一场哲学辩论,但这就是我所拥有的:
- 共享Javascript资源库以调用Web服务的两个控件。
- 它们通常彼此结合使用,但并非总是如此。
- 他们都引用的javacsript文件不容易分开。
- 不应将javascript文件添加到应用程序中的每个页面。
理想情况下,我会在控件之间划分web服务,并且每个调用一个js资源文件,仅针对他们需要的function。
我想知道是否有一种明显更好的方式让我失踪……
我最简单的forms是:
Control1
Other stuff
Control2
编辑
如果这提供了一个有用的方法,我可以使用jQuery。
使用ASP.NET
如果这些控件不需要在它们之间共享信息,你可以查看jQuery的使用对象的方法,确保如果你以不同的方式命名主对象,它会实现(不确定这个词是否存在)2个变量相同的变量宾语。
可能最简单的方法是在使用一个或两个控件时包含整个js资源库。 这应该由您的服务器端脚本(PHP等)处理
将
例如:
Control1
Control2
页面加载时间意义上的最佳选择是创建资源库的三个版本。 然而,这很可能是矫枉过正。
- version包含控件A所需的部件
- 版本包含控件B所需的部件
- version包含控件A和B的所有必需部件
然后,您必须选择正确的版本,具体取决于您是使用控件A,控件B还是两者。
用以下JS和jQuery代码解决了我的问题
if (thisResourceLoaded === undefined) { $.getScript('/Webservice.asmx/js'); var thisResourceLoaded = true; }