IE8中的anonymous()方法不能用。
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
改成:if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
这样IE8能用,但IE7又不能用了。不知道别的浏览器能否用,没测试过,急需解决办法。
上海心港心理咨询中心

解决方案 »

  1.   

        昨天ie8正式发布了,偶也去下载了一个,感觉很爽, 还在美的时候,突然发现很多网页都出问题,更可气的是自己的网站编辑器也不管用了,所有的按钮都不管用,即使是别的浏览器也都不管用,我这叫一个汗。于是就去360论坛找人问,因为我用的360浏览器以为是360浏览器的问题。问了半天也没有人回答我于是我就去网上找,由于今天才出的ie8所以网上根本也没有这方面的解决办法,于是到了第二天,网上终于有了这样的贴子,所以我也找了找解决办法。     在一个哥们的贴子中是这样写的,打开include下面的editor.js文件,有这样的段代码:     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()"); 
    }把代码改成这样之后在ie7和ie8下就都管用了。摘自:http://hi.baidu.com/study521/blog/item/bd9005c832e5fa1f7f3e6fa2.html
      

  2.   

        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
        }
      

  3.   

    楼上的正解,IE8有些模式下也被认为IE7。
    或者还能用try
        try{ 
            if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); 
        }
        catch(e){
            if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)"); 
        }
      

  4.   

    楼上的是正解..帮我解决了问题..谢谢!经过ie6,ie7,ie8的测试都通过了.很高兴..谢谢你 xier_ji~
      

  5.   

    兼容未来版本的写法, 免得以后升级ie9又出问题if (element.YUSERONCLICK) 
        eval(element.YUSERONCLICK + ((document.documentMode||navigator.appVersion.match(/7./i)=='7.')?"onclick(event)":"anonymous()"));
      

  6.   


    //,方法一,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    //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()");   
    //}
    // 方法二 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
    // }
    // 方法三
    //try{  
    //  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");  
    //  }
    //  catch(e){
    //  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");  
    //  }
    //方法 四
    if (element.YUSERONCLICK)  
      eval(element.YUSERONCLICK + ((document.documentMode||navigator.appVersion.match(/7./i)=='7.')?"onclick(event)":"anonymous()"));

    //,方法一,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    //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()");   
    //}
    // 方法二 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
    // }
    // 方法三
    //try{  
    //  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");  
    //  }
    //  catch(e){
    //  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");  
    //  }
    //方法 四
    if (element.YUSERONCLICK)  
      eval(element.YUSERONCLICK + ((document.documentMode||navigator.appVersion.match(/7./i)=='7.')?"onclick(event)":"anonymous()"));
    求解 我用了那么多方法了 就是没用啊