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