有一個MVC 3剃鬚刀部分頁面是依賴於jquery.validate.js和jquery.validate.unobtrusive.js。我如何檢查是否jQuery的包被引用
部分頁面是否可以檢查是否存在對.js包的引用?
由於這是一個局部頁面,因此_Layout.cshtml或另一個包含的局部頁面已經引用.js包是可能的/可能的。爲了避免對.js包的重複引用,我希望部分頁面能夠確定是否需要添加對包的引用。
有一個MVC 3剃鬚刀部分頁面是依賴於jquery.validate.js和jquery.validate.unobtrusive.js。我如何檢查是否jQuery的包被引用
部分頁面是否可以檢查是否存在對.js包的引用?
由於這是一個局部頁面,因此_Layout.cshtml或另一個包含的局部頁面已經引用.js包是可能的/可能的。爲了避免對.js包的重複引用,我希望部分頁面能夠確定是否需要添加對包的引用。
您可以檢查是否jQuery
和jQuery.validate
定義,如果它不能加載腳本,但它不是真的值得去努力 - 瀏覽器緩存js文件,所以如果你有兩個引用,它只會下載一旦。
我不確定這是否解決了您的問題,但有一個名爲getScript的jquery函數通過get請求加載服務器腳本。
http://api.jquery.com/jQuery.getScript/
因爲它在全球運行時,它可能會解決YOUT問題。你只需要這樣做:
$.getScript('url.js', function(){
//
});
下面一段js代碼會檢查兩個插件是否已經添加到jQuery對象。
if (jQuery.validator != undefined && jQuery.validate != undefined) {
//do something
}
如果沒有加載jQuery,這實際上會中斷,因爲jQuery對象不會被定義。您還需要檢查jQuery是否先定義。 – Andrey 2011-05-13 18:39:39
的確如此,但沒有理由不能確定jQuery是否也未定義。該技術仍然適用。你的回答根本沒有解決這個問題。我的依然是正確的。 – 2011-05-13 18:41:22
其實我誤解了這個問題,我糾正了我以前的評論。 – Andrey 2011-05-13 18:42:57