2010-09-13
近剛來(lái)的這個(gè)公司有點(diǎn)忙,都沒(méi)時(shí)間學(xué)習(xí)了,所以好久都沒(méi)有發(fā)表我關(guān)于學(xué)習(xí)中遇到問(wèn)題的博文了,公司這邊是好多以前做的網(wǎng)站維護(hù)中出現(xiàn)問(wèn)題,當(dāng)然就得我這個(gè)新來(lái)的程序員來(lái)處理,還有許多網(wǎng)站遭遇掛馬等等問(wèn)題,這幾天我就準(zhǔn)備寫一篇比較基礎(chǔ)篇的防掛馬,當(dāng)然也不是自己完全領(lǐng)悟的,是根據(jù)自己的經(jīng)驗(yàn)和網(wǎng)上一些前輩的知識(shí)總結(jié)出來(lái)的,希望可以幫助一些比我還新的新手解決問(wèn)題,可以不用走我走過(guò)的歪路,這次先說(shuō)個(gè)今天剛剛遇到的小問(wèn)題。
今天上午同事突然問(wèn)我,說(shuō)怎么我以前做的一個(gè)網(wǎng)站后臺(tái)傳不上去圖片了,我第一個(gè)想法就是以前的既然沒(méi)問(wèn)題,那現(xiàn)在出問(wèn)題無(wú)非就是服務(wù)器或他的瀏覽器出現(xiàn)了問(wèn)題,服務(wù)器的問(wèn)題一般就是可能服務(wù)器管理員設(shè)置了權(quán)限,導(dǎo)致文件不能上傳,而瀏覽器的就比較麻煩了,因?yàn)楝F(xiàn)在本來(lái)IE和火狐的兩大陣營(yíng)給我們這些從事網(wǎng)站制作的工作人員帶來(lái)了很多不便,當(dāng)然還是因?yàn)樽约杭夹g(shù)不行,不然就不會(huì)有什么不便,然后我就登陸了那個(gè)網(wǎng)站的后臺(tái)測(cè)試了一下,在我這邊一起正常,我又走過(guò)去讓他給我演示了一下他那邊出現(xiàn)的問(wèn)題,問(wèn)題是后面的文本編輯器點(diǎn)擊上傳圖片的按鈕后沒(méi)有反應(yīng),我看了下他的瀏覽器,是前幾天剛剛出來(lái)的IE8,唉,無(wú)奈,出IE7的時(shí)候就帶來(lái)了很多問(wèn)題,現(xiàn)在IE8又要讓人頭疼幾天了,介于我自己的技術(shù)不是很高,所以我就打算直接上網(wǎng)上先搜搜結(jié)果,運(yùn)氣很好,看來(lái)這個(gè)問(wèn)題是近的熱門,對(duì)了,剛才忘了說(shuō)我做的網(wǎng)站和大多數(shù)網(wǎng)站一樣都是用的ewebeditor在線文本編輯器,呵呵,我不評(píng)價(jià)漏洞之類的問(wèn)題,怎么說(shuō)都是免費(fèi)的,而且已經(jīng)是很好用的東西了。
大概問(wèn)題原因就是IE8屏蔽了一個(gè)功能,解決辦法就是在ewebeditor文件夾里找Editor.js這個(gè)文件,網(wǎng)上的都說(shuō)是在include文件夾,不過(guò)我相信很多和我一樣為了盡量安全一點(diǎn)把路徑都改過(guò)的,我的是在一個(gè)叫JS的文件夾中,當(dāng)然你的在什么地方你應(yīng)該知道,如果是用的別人的后臺(tái)系統(tǒng)那就搜索下,一般來(lái)說(shuō)Editor.js這個(gè)文件的名字是不會(huì)改的,在這個(gè)文件中有
if (element.YUSERONCLICK) (element.YUSERONCLICK + 'anonymous()');
這句代碼,處理這個(gè)問(wèn)題的關(guān)鍵就在'anonymous()'這里,IE8中anonymous不被支持,所以要用 'onclick(event)',但如果單純的改成
if (element.YUSERONCLICK) (element.YUSERONCLICK + 'onclick(event)');
那么在IE7或其他版本又會(huì)出現(xiàn)問(wèn)題,那么就加個(gè)判斷,后改成:
if(navigator.appVersion.match(/8./i)=='8.') { if (element.YUSERONCLICK) (element.YUSERONCLICK + 'onclick(event)'); } else { if (element.YUSERONCLICK) (element.YUSERONCLICK + 'anonymous()');
這樣一來(lái)就沒(méi)有問(wèn)題了,如果現(xiàn)在正在因?yàn)檫@個(gè)而頭痛的同僚,可以常識(shí)按我說(shuō)的修改一下,修改后記得好清一下緩存,因?yàn)榫彺姹容^喜歡把圖片或JS之類的文件保存到你自己的電腦上直接調(diào)用。寫得好像有點(diǎn)亂,我總結(jié)一下就是:
找到Editor.js這個(gè)文件,然后把其中
if (element.YUSERONCLICK) (element.YUSERONCLICK + 'anonymous()');
這句代碼改成
if(navigator.appVersion.match(/8./i)=='8.') { if (element.YUSERONCLICK) (element.YUSERONCLICK + 'onclick(event)'); } else { if (element.YUSERONCLICK) (element.YUSERONCLICK + 'anonymous()');
保存-清理緩存-在打開(kāi)從新嘗試,看看你的ewebeditor在IE8下能不能點(diǎn)出來(lái)那些小的框框。