截斷字符

最近作一個應用,是經過客戶端和網頁交互來實現替換文檔中字體的功能;在網頁方面的工做很簡單,就是經過客戶端提供的接口獲取當前系統字體,顯示在界面供用戶選擇替換。是的,頁面很順利作完,並在瀏覽器測試完畢。開始和客戶端作一個完整測試,結果問題來了,ie8顯示不了英文字體選項,ie6顯示不了背景圖片。由於最終是生成dll,因此不能用瀏覽器來調試,很不方便,調試的過程只能在頁面顯示出來,沒辦法,只能逐步排除。css

針對第一個問題:數組

首先,檢測客戶端接口是否有返回字體,正確;在明確知道有獲取到字體後,檢測對字體處理是否正確,也是正確。最後檢測拼接標籤,生成文檔節點是否正常,這是否發現問題,拼接的結果出錯,一個長度爲N的數組,結果只顯示循環的第一個,並且後面是被截斷了,有點疑惑,我已經作過特殊字符處理的,並且爲何顯示的是一個截斷的拼接結果。瀏覽器

從新檢查,把接口返回的結果拿到頁面上直接測試,結果顯示是正常的,這下有點蒙了,字符串沒有問題,拼接方法也沒有問題,但爲何在客戶端的結果有問題?百思不得其解,最後靈光一閃,用編碼後的數據來拼接試試,編碼後出現%00,正常顯示拼接結果,發現問題所在,天然就容易解決了;%00,截斷,作下過濾就能夠了,解決。測試

針對第二個問題:字體

一開始懷疑是客戶端裏面不支持png,可是後面因爲在調試第一個問題的時候,使用一個在線網頁在調試(這個應用實際只是客戶端和本地頁面,是用一個在線的網頁,只是爲了調試的時候,不用每改一次都去生成一個新的dll);發現IE6下是正常顯示png的,因此排除圖片格式問題;猜想是圖片路徑引用的問題,使用先對路徑引用是合法並在瀏覽器正常工做,在客戶端,總有些奇奇怪怪的問題,因此纔有這種猜想,恰好另一個正常顯示圖片的頁面,css是直接寫在頁面上的,圖片也是用相對地址引用,難道是不能在引入的css文件裏面使用背景圖片。沒頭緒,直接放在頁面上測試,結果仍是現實不了,我了個去,這太不科學了。對比了下正常顯示背景圖片的寫法,沒有什麼區別啊.就是在地址後面對了參數而已.例子:../img/dsjiofafd.png?v=版本,這個正常不過的寫法了,不可能這裏出錯。可是仍是想不出因此然,只能去掉試試,結果發現,偏偏是假多了後面‘?v=版本’致使不能顯示。完全無語了....編碼

 

最後,記錄下這鬱悶的事情調試

相關文章
相關標籤/搜索