最近遇到更新至新的 jQuery 版本時,造成一堆 javascript error 訊息出來,也就是說很多 jQuery 套件都無法使用,並出現「Cannot read property ‘msie’ of undefined」的錯誤訊息出來,究竟是為何?且該如何解決呢?
原來是年初 jQuery 官方釋出 1.9 與 2.0 版本,把原先 $.browser method 給移除,所以導致如 fallr、fancybox 或其他有用到 jQuery.browser() 的套件,都會造成上述的狀況,所以官方後續也出了 plugin,以支援之前版本的一些 method。
所以若有引用 1.9 版之後的 jQuery ,請加上下面這一段,維持套件的正常。
<script src="http://code.jquery.com/jquery-migrate-1.1.0.js"></script>
壓縮版本
<script src="http://code.jquery.com/jquery-migrate-1.1.0.min.js"></script>
參考資料:
[jQuery]Cannot read property ‘msie’ of undefined错误的解决方法
jQuery Migrate 1.1.0 Released 注意事項