加掛某個js導致VS2008 JScript IntelliSense失效

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,操作步驟也十分簡便。大家在面對類似狀況時,不妨一試。

歡迎推文分享:
Published 22 April 2009 05:48 PM 由 Jeffrey
Filed under: , , ,
Views: 12,804



意見

# dyco said on 22 April, 2009 04:11 AM

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

# Shelly said on 22 April, 2009 06:57 PM

想請問一下,那個 see error list到底是要看哪裡啊~~~

我每次看error list都是空的啊>_<

# uxspy said on 24 April, 2009 02:30 AM

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

# 有為 said on 10 February, 2011 08:33 PM

黑大你好,最近有幸在觀看你的教學影片(邊做邊學 jQuery 系列)來學習 jQuery ,其中我深深被那跨瀏覽器與簡潔的語法所吸引,

只是,小弟公司依然還在使用 vs2005、asp.net 2.0 開發網頁(泣),

不知 vs2005 可否引用  jQuery ?又該如何做?

# Jeffrey said on 11 February, 2011 10:00 PM

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

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<April 2009>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication