iOS 使用 WKWebView 加載本地的JS和CSS文件出現(xiàn)亂碼問(wèn)題

發(fā)現(xiàn)問(wèn)題

最近項(xiàng)目中使用到HTML5和原生的混合開(kāi)發(fā)器虾,項(xiàng)目在IOS10上面運(yùn)行正常讯嫂,在IOS8下遇到了兼容性的問(wèn)題,HTML5頁(yè)面可以加載出來(lái)兆沙,只是頁(yè)面樣式丟失欧芽,并且JS腳本執(zhí)行不了,所以只能調(diào)試看下是否有問(wèn)題(這篇文章有介紹Safari連接IOS設(shè)備調(diào)試葛圃,推薦使用Safari調(diào)試千扔,Chrome調(diào)試會(huì)有問(wèn)題)。

使用Safari調(diào)試器查看HTML文件顯示正常

HTML文件顯示正常截圖

但是JS文件和CSS文件顯示變成了亂碼库正,這就很好解釋了為什么頁(yè)面沒(méi)有樣式和JS執(zhí)行也有問(wèn)題了曲楚。

JS文件亂碼

CSS文件亂碼

找到原因

網(wǎng)上搜索了相關(guān)資料,確實(shí)也有人遇到(別人遇到類(lèi)似的問(wèn)題)诀诊,不過(guò)他的解決辦法是把JS/CSS文件放到服務(wù)區(qū)洞渤,本地保存HTML文件,這種方法解決感覺(jué)也太曲線(xiàn)救國(guó)了属瓣,既然是文件出現(xiàn)了亂碼很有可能是文件的編碼有問(wèn)題载迄,所以從這里入手試試看。

網(wǎng)上找到一個(gè)工具Notepad++可以設(shè)置很多的編碼格式抡蛙,下載軟件打開(kāi)CSS文件护昧,發(fā)現(xiàn)文件的編碼是 UTF-8無(wú)BOM格式,嘗試轉(zhuǎn)換為 UTF-8格式

NotePad查看文件編碼

文件的內(nèi)容沒(méi)有變化粗截,但是使用16進(jìn)制可以看到前面添加了3個(gè)字節(jié)的內(nèi)容惋耙,這就是BOM頭
輸入圖片說(shuō)明

問(wèn)題的解決

替換為轉(zhuǎn)換編碼之后的文件,iOS8上可以正常的加載CSS和JS了熊昌,可以直接使用Notepad++轉(zhuǎn)換編碼或者直接使用Xcode打開(kāi)二進(jìn)制編輯绽榛,在文件的開(kāi)頭加上3個(gè)字節(jié) EF BB BF ,然后保存,這樣就加上了BOM頭婿屹。

顯示正常

一個(gè)解決問(wèn)題的腳本

這種問(wèn)題當(dāng)然得用自動(dòng)化的方法解決灭美,所以,有了下面的shell腳本昂利,在xcode中添加一個(gè)run script届腐,粘貼修改如下代碼即可铁坎,files數(shù)組中保存的是你項(xiàng)目中js和css文件的路徑,文件路徑相對(duì)于項(xiàng)目的根目錄

files=("./mmosite/Resources/web-contents/css/news-style.css" "./mmosite/Resources/web-contents/js/news-script.js")
for fileName in ${files[*]}
do
sed -n '2p' $fileName
echo "fileName=${fileName}"

ret=`hexdump -s 0x0 -n 3 $fileName`
echo $ret

ret=${ret:8:9}
echo $ret

if [ "$ret" = "ef bb bf " ]
then
echo "OK"
else
echo "FAIL"
echo -n -e \\xEF\\xBB\\xBF | cat - $fileName > temp && mv temp $fileName
fi
done
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末犁苏,一起剝皮案震驚了整個(gè)濱河市硬萍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌围详,老刑警劉巖朴乖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異短曾,居然都是意外死亡寒砖,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)嫉拐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)哩都,“玉大人,你說(shuō)我怎么就攤上這事婉徘∧叮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵盖呼,是天一觀(guān)的道長(zhǎng)儒鹿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)几晤,這世上最難降的妖魔是什么约炎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮蟹瘾,結(jié)果婚禮上圾浅,老公的妹妹穿的比我還像新娘。我一直安慰自己憾朴,他們只是感情好狸捕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著众雷,像睡著了一般灸拍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上砾省,一...
    開(kāi)封第一講書(shū)人閱讀 51,258評(píng)論 1 300
  • 那天鸡岗,我揣著相機(jī)與錄音,去河邊找鬼编兄。 笑死轩性,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的翻诉。 我是一名探鬼主播炮姨,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼碰煌!你這毒婦竟也來(lái)了舒岸?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芦圾,失蹤者是張志新(化名)和其女友劉穎蛾派,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體个少,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡洪乍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夜焦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壳澳。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖茫经,靈堂內(nèi)的尸體忽然破棺而出巷波,到底是詐尸還是另有隱情,我是刑警寧澤卸伞,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布抹镊,位于F島的核電站,受9級(jí)特大地震影響荤傲,放射性物質(zhì)發(fā)生泄漏垮耳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一遂黍、第九天 我趴在偏房一處隱蔽的房頂上張望终佛。 院中可真熱鬧,春花似錦妓湘、人聲如沸查蓉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)豌研。三九已至,卻和暖如春唬党,著一層夾襖步出監(jiān)牢的瞬間鹃共,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工驶拱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留霜浴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓蓝纲,卻偏偏與公主長(zhǎng)得像阴孟,于是被迫代替她去往敵國(guó)和親晌纫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容