我有一个MVC 3 Razor部分页面,它依赖于 jquery.validate.js 和 jquery.validate.unobtrusive.js 。
部分页面是否可以检查是否已经存在对.js包的引用?
由于这是一个部分页面,因此_Layout.cshtml或其他包含的部分页面可能/可能已经引用了.js包。为了避免重复引用.js包,我希望部分页面能够确定是否需要添加对包的引用。
答案 0 :(得分:3)
以下js代码将检查两个插件是否已添加到jQuery对象。
if (jQuery.validator != undefined && jQuery.validate != undefined) {
//do something
}
答案 1 :(得分:1)
我不确定这是否能解决您的问题,但是有一个名为getScript的jquery函数可以通过get请求加载服务器脚本。
http://api.jquery.com/jQuery.getScript/
因为它在全球范围内运行,它可能会解决您的问题。你必须这样做:
$.getScript('url.js', function(){
//
});
答案 2 :(得分:1)
您可以检查是否已定义jQuery
和jQuery.validate
并加载脚本(如果不是),但这并不值得花费 - 浏览器正在缓存js文件,因此如果您有两个引用,那么只会下载一次。