總結的不是很多,還有待完善,歡迎補充……
問題1:開發前端有時會遇到標簽中的src屬性值為空,或者src屬性值存在,但是服務器端得圖片被干掉了,這樣就會導致2種影響頁面執行的問題的誕生,
(1)、值為空的情況,導致了頁面的重新加載,所有的請求被重新執行一次,大大降低頁面加載速度;
(2)、此圖片因為服務器的誤操作等原因導致了圖片丟失,瀏覽器F12查看圖片Url后顯示圖片Url加載失敗,瀏覽器報錯,嚴重的話直接阻塞了UI線程;
對于以上2種情況,個人的建議是在調用圖片的地方加上空值判斷和默認圖展示,標簽可以加上onerror屬性重新定位到加載失敗后的默認圖片,使用onerror的時候如果指定的默認圖也丟失的話,
瀏覽器會循環查找指定路徑的默認圖,直到找到該默認圖為止,可以使用以下代碼段來阻止onerror屬性的循環,也可以JS設置this.onerror屬性為null。
問題2:對于頁面上的金錢符號處理,一般大多采用 ¥ 符號來做渲染,但是目前發現的問題是,采用¥符號,在一些低版本內核的瀏覽器中會出現兼容問題(顯示不全、不顯示),此情況出現的頻率不是很高
建議對于頁面上金錢符號的處理,可以采用字符編碼或者特殊符號的形式展示,防止瀏覽器兼容帶來的影響。
使用 ¥ 2.css設置字體屬性 font-family:Arial; 或者在網頁使用 ¥ 符號, 個人還是推薦用第二種方式顯示,為什么?請看看JD、taobao。
問題3:對于頁面中事件的監聽和綁定,一般都是采用html代碼與Js代碼分離的方式,但是也不排除在html標簽中直接綁定事件的現象,這樣的做法看似確實方便了許多,但是隨之也會帶來一些問題
(1)、Js負責行為層,而html負責結構層,將2者混合在一塊不符合前端架構設計思想;
(2)、Js寫在內部不利于后期的維護,增加維護成本,無法進行迭代開發和功能擴展;
(3)、過多的Js操作寫在Html結構中,會阻礙DOM樹的加載,影響用戶體驗;
(4)、外部Js更方便壓縮,合并請求和減少帶寬的占用(按照規范編寫)。
相比Js寫在html中,外部Js僅僅是需要建立多次Htpp連接,優化http首部困難,但是對于壓縮后所帶來性能上的提升是利大于弊的。
------------------------------------------------------------------------------------------------------------------------------我是華麗的分割線-------------------------------------------------------------------------------------------------------------------------------------------------------
接下來在扯一扯webapi的那些事吧  ̄□ ̄||
最近在用webapi的時候,通過單元測試調試webapi后發現不少問題,現做以下匯總和解決方案分享:
1.webapi有4種資源調度方式分別對應著數據庫的CURD,自動匹配所有的GetXXX或者PostXXX的函數
webapi調度 數據庫操作
GetAsync--------->select
PostAsync-------->Insert
PutAsync---------->Update
DeleteAsync------->Delete
說下post和put區別吧:項目中用post和put方式調度,其實都能實現同樣的功能,但是put后返回的結果是單條的,而post返回的結果是多條的,結合到數據庫的執行update和add后
返回的受影響行數,應該就很容易理解了吧; 8-|
2.如果創建人的api項目是2.0的話,默認自帶的一些高版本的dll版本(系列化等)會引發程序在Gload.cs的異常,版本匹配不上,
這個不多說,本人已遇到,解決方式就是更換低版本的dll引用,dll文件統一管理咯;
3.大家在做post提交請求的時候,遇到需要傳參的時候,參數較多會封裝成實體,那么參數較少的情況可能就會挨個傳參(不走url),看似沒有問題,建立連接后會出現未將對象引用問題,
經調試發現雖然api通道能走通,但是參數獲取未nul,檢查地址發現沒問題后還是獲取null,取網上找了下,發現官方建議在傳參時在前面打上【Frombody】標記就可以了,這樣就會告訴
api要從請求體重獲取data數據(只能存在一個【Frombody】),加上后就可以繼續玩耍了-。-;
Ps:[Frombody]如果按照鍵值的形式傳參會獲取不到值,所以清空data數據中的鍵只傳value就可以啦(具體為什么還沒想清楚,有了解的童鞋望告知*.*);
4.項目中post基本上可以代替增刪改操作了,默認訪問Put、Delete調度會出現狀態值為405的異常,如果需要用到PutAsync、DeleteAsync的童鞋需要在配置文件中加上這一段:
或者移除IIS中的WebDAV Publishing服務即可。
參考鏈接:
http://www.dotblogs.com.tw/mantou1201/archive/2013/10/14/124074.aspx --api學習
http://www.liaodihen.com/Article/20140513061934963362.html --Frombody解釋
http://www.dotblogs.com.tw/mantou1201/archive/2013/10/14/124074.aspx --WebDav服務移除
如有不對或缺少,請補充! 8-|
2015年12月05日補充:
1.鑒于之前說到對圖片的手動處理方式,今天在組項目的時候,發現還不是很完美,目前也沒想到更好的辦法,出現的問題是項目需求問題,如果調用了onerror屬性后,圖片在加載失敗的條件下觸發了這個事件,但是如果需要用
瀏覽器的F12查看原先加載失敗的url地址就沒法查看了(src被重寫),所以這個方法還是根據項目的實際情況使用吧。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com