<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    http://www.tkk7.com/ebecket 返還網
    隨筆-140  評論-11  文章-131  trackbacks-0
    eWebEditor不支持IE8,IE7,遨游的原因及解決方法

     隨著windows7的普及,IE8瀏覽器的隊伍也慢慢的壯大起來.但是我們突然發現很多網頁都出問題,更可氣的是自己的網站編輯器也不管用了,所有的按鈕都不管用,即使是別的瀏覽器也都不管用.

           在一個哥們的貼子中是這樣寫的,打開include下面的editor.js文件,有這樣的段代碼:
        if (element.YUSERONCLICK) {
        eval(element.YUSERONCLICK + "anonymous()");
        }
        或
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
        或
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
        說是因為ie8屏蔽了anonymous方法 所以要改成click方法,于是就改成這樣,但是我又有了一個驚人的發現,那就是改成這樣之后在ie7下編輯器就不管用了,痛苦之余我又去網上查,網上果然高水如云,果然在csdn上找到了答案:
        if(navigator.appVersion.match(/8./i)=='8.')
        {
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
        }
        else
        {
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
        }
        如果還是不行用下面這個
        if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/7./i)=='7.'){
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)"); //IE8 or IE7
        } else {
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); //IE6
        }
        把代碼改成這樣之后在ie7和ie8下就都管用了。
        =========================================================================
        以上是一個人的說話,以下是另一個人的
        還有由于那個eWebEditor編輯器的問題。
        今天檢查公司一老站后臺,發現eWebEditor編輯不能使用,按照網上找的答案
        找到editor.js文件,把這文件里的一行語句if(element.YUSERONCLICK)eval(element.YUSERONCLICK + “anonymous()”);
        修改成
        if(navigator.appVersion.match(/8./i)==’8.’)
        {
        if(element.YUSERONCLICK)eval(element.YUSERONCLICK + “onclick(event)”);
        }
        else
        {
        if(element.YUSERONCLICK)eval(element.YUSERONCLICK + “anonymous()”);
        }
        原因是IE8不支持anonymous(),所以要換成onclick(event)事件。
        修改之后一同事使用IE7竟然不能正常使用該編輯器,修改之后可以。
        估計還是那行代碼的問題?;謴鸵郧暗模琁E7可以而IE8不可以。看來還必須先判斷IE版本然后再寫不同的代碼。
        于是就使用了下面的代碼:
        if(navigator.appVersion.match(/8./i)=='8.'){
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
        }else{
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
        }
        修改之后在IE8和IE7均可以正常使用eWebEditor編輯器。
        但是在裝有IE8的機器上使用傲游瀏覽器竟然不能使用該編輯器,納悶了,傲游是IE內核,應該可以呀。
        于是就使用alert(navigator.appVersion)彈出信息,結果發現竟然是IE7?
        暈了!竟然不一樣?難道傲游沒有用到真正的IE8內核?還是顯示的問題?
        難道再加一句判斷傲游的?
        沒辦法:
        if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON'){
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
        }else{
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
        }
        前幾天看新聞說傲游開發自己的內核瀏覽器,希望眾多瀏覽器在兼容代碼上好一些,不要浪費編寫代碼者的那么多找不兼容問題、調試不兼容問題的時間。
        如果上面不行的話,請使用下面的方法(此代碼可行,我用這段代碼解決的問題):
        try{
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
        }
        catch(e){
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");

        }

        ==================================
        我用下面這個人的方法解決了
        ----------------------------------------------

     


        類似文摘:
    簡單解決ewebeditor在IE7、IE8下失效問題
        EWEBEDITOR在IE7、IE8下,圖片上傳等按鈕總是不能正常彈出,搞的人很郁悶,在網上搜索了一下解決方法,找到代碼編輯器目錄JS下的EDITOR.JS文件,找到如下代碼
        if (element.YUSERONCLICK) {
        eval(element.YUSERONCLICK + "anonymous()");
        }
        再換成如下代碼:
        以下是引用片段:
        if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/7./i)=='7.'){
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)"); //IE8 or IE7
        } else {
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); //IE6
        }
        替換后問題依舊。TNND,又找一位仁兄寫的代碼換上:
        以下是引用片段:
        if(navigator.appVersion.match(/MSIE (7|8)\./i)!=null){
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
        }else{
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
        }
        還是不行,兩個代碼都未能解決問題,郁悶,看來,要不是瀏覽器中毒了,造成JS不能正常取得版本號,就是我RP太差。所以引起程序不知道如何處理判斷。我看了一下兩位作者的代碼,雖然寫的很好,但是都有局限性。既然知道了造成問題的原因,那就好辦了,自己寫吧:
        try{
        eval(element.YUSERONCLICK + "anonymous()");
        }
        catch(error)
        {
        eval(element.YUSERONCLICK + "onclick(event)");
        }
        寫完以后再次測試,OK,正常了,哈哈!!我不管它是IE7還是IE8,我都往下執行一個錯了我就執行另一個,管它呢,哈哈,正常解決,容錯語句就是挺管用的。

    posted on 2012-01-11 11:38 becket_zheng 閱讀(846) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲另类古典武侠| 亚洲色图在线观看| 精品久久久久亚洲| 国产精品免费看久久久久| 亚洲综合国产成人丁香五月激情 | 99久久免费国产香蕉麻豆| 亚洲精品自拍视频| 足恋玩丝袜脚视频免费网站| 亚洲男人第一av网站| 99久热只有精品视频免费观看17| 久久精品亚洲一区二区三区浴池| 99re6在线精品视频免费播放 | 免费国产高清毛不卡片基地| 免费国产一级特黄久久| 一级中文字幕免费乱码专区| 亚洲自偷自偷在线制服| 久久久久久国产精品免费免费男同| 日韩亚洲AV无码一区二区不卡| 天天影院成人免费观看| 亚洲国产日韩综合久久精品| 全部免费国产潢色一级| 91成人免费观看在线观看| 亚洲男人的天堂在线播放| 人妻视频一区二区三区免费| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲自偷自偷偷色无码中文| 精品成在人线AV无码免费看| 亚洲AV综合永久无码精品天堂 | 亚洲成a人片77777老司机| 国产香蕉免费精品视频| 国产AV无码专区亚洲AV蜜芽 | 亚洲精品NV久久久久久久久久| 99麻豆久久久国产精品免费| 亚洲特级aaaaaa毛片| 日韩免费视频播放| 免费精品久久天干天干| 亚洲人成网站18禁止久久影院 | 在线观看人成视频免费无遮挡 | 国产精品小视频免费无限app| 亚洲国产成人久久精品影视| 在线免费视频一区|