分類
軟體平台/工具

AJAX FancyUpload & ShadowBox 共存問題

網站一直使用的檔案上傳模組 FancyUpload 為 v2.0 版本也很穩定,不過因為 Adobe Flash Player 最近持續更新得很快,為了追上 flash 版本更新速度,比較能夠相容於 flash 各種版本(v9 & 10),決定從 v2.0 升級至 v3.0。這個上傳模組是植基於 AJAX library mootools,順便也將 mootools 更新至 v1.2.5。原本計畫再升級至 v1.3.1,但於 IE 8瀏覽器裡會發生未知錯誤,尚未找到處理方法,只好暫時作罷以後再說。新版 FancyUpload v3.0 單一檔案最大上傳為 2GB ,後台 JSP 必須設為 (-1 for unlimited)上傳檔案時,才不會被系統拒絕而上傳失敗。

為了避免彈出式視窗(popup)被瀏覽器阻擋,經過搜尋後決定採用 ShadowBox 插件來執行開啟彈出式視窗功能,而 CloudZoom 插件則是處理圖片局部放大效果。ShadowBox 和 CloudZoom 兩個插件均是植基於 AJAX library – jQuery。但 mootools 與 jQuery 兩個 不同類型 AJAX library 會發生相衝的問題,解決方式 (Using jQuery and MooTools Together) 是加 jQuery.noConflict(); 而且 AJAX library javascript include 順序 mootools.js 需先於 jquery.js。還有 CloudZoom 與 FancyUpload 這兩個插件也是不相容,還好這兩個插件沒用於同一網頁。

分享