JScript IntelliSense是我鍾愛的VS2008新功能之一,在MS正式採用jQuery後,VS2008進一步還支援jQuery Intellisense,更是讓人雀躍。

無奈,在加掛某些js後(例如jquery-ui.js),你可能會看到如下錯誤:

VS2008抱怨Error updating JScript IntelliSense,而錯誤訊息指出載入的js某一列有問題。但可以確定,該JS程式在瀏覽器上是正常無誤,應屬VS2008在解析Javascript時的問題。如果只是加掛的JS沒有IntelliSense,這問題就不足掛齒;但事實並非如此,只要發生這類解析錯誤,連原有jquery.js的說明提示都會一併停擺,應驗了"一顆老鼠屎,壞了一鍋粥"。

遇到這類問題,最佳解是設法取得*-vsdoc.js檔案,但常常無法如願。所以我們得自力救濟,一開始我想到的做法是將有問題的js改用$.getScript()載入,但與該js相依的程式碼就必須而移在getScript()的complete事件再執行。程式在document.ready()之後一段時間才執行,會讓使用者察覺到延遲,而且想一想,為了設計期間的問題更改架構實在不是明智之舉。

後來我想到個新解法,弄個空白檔案,取名為jquery-ui-vsdoc.js放在jquery-ui.js的同目錄下。這樣子雖然無法提供對jquery-ui.js各函數的提示,但至少不會搞爛原本可用的jQuery IntelliSense,操作步驟也十分簡便。大家在面對類似狀況時,不妨一試。


Comments

# by dyco

只能說大大太神了,這種鬼主意也想的到 @@

# by Shelly

想請問一下,那個 see error list到底是要看哪裡啊~~~ 我每次看error list都是空的啊>_<

# by uxspy

你太强了,这招都能想的出来,佩服

# by 有為

黑大你好,最近有幸在觀看你的教學影片(邊做邊學 jQuery 系列)來學習 jQuery ,其中我深深被那跨瀏覽器與簡潔的語法所吸引, 只是,小弟公司依然還在使用 vs2005、asp.net 2.0 開發網頁(泣), 不知 vs2005 可否引用 jQuery ?又該如何做?

# by Jeffrey

to 有為,Javascript Intellisense是VS2008才加入的新功能,使用VS2005開發時,在網頁中引用jquery.js,依然可以使用jQuery完成各項工作,不會因為VS2005版本受到任何功能上的限制,只是開發期間少了IDE的輔助,跟使用Notepad編寫Javascript程式碼差不多,會辛苦一點。

Post a comment