在IE11上打开Rich Text(YUI)编辑器

时间:2013-11-22 16:05:35

标签: internet-explorer editor yui internet-explorer-11

我正在运行Internet Explorer 11和YUI 2:富文本编辑器似乎无法运行。有关详细信息,请参阅随附的屏幕截图。任何想法如何在IE11下解决这个问题?

enter image description here

3 个答案:

答案 0 :(得分:5)

对于IE改变其用户代理,YUI(2.9)需要手术。

  1. 修改yahoo-dom-event.js: 找到这个:YAHOO.env.parseUA,然后最后添加一些告诉YAHOO.env.ua的东西现在正在IE 11下面。像这样:

     if (g.ie == 0 && c.indexOf('Trident') != -1){
         g.ie = 11;
     }
    
  2. 修改editor.js: 找到_setInitialContent函数,并在包含“BackCompat”的if-branch之后, 加上这个:

    this.browser = YAHOO.env.parseUA();
    

    然后只是在以下if-branch(if (this.browser.ie || this.browser.webkit || this.browser.opera || (navigator.userAgent.indexOf('Firefox/1.5') != -1)))中: 加上这个:

     if (this.browser.ie == 11) {
         this.browser.ie = 0;
     }
    
  3. 希望工作,祝你好运!

答案 1 :(得分:2)

kinglomei的解决方案有效,但您可能需要稍微修改它以使其适合您。 在YUI中,根据您设置网站的方式,可以在许多不同的地方定义parseUA函数;我们碰巧在yahoo.js文件中定义它,但它经常在utilies,yuiloader,yui-dom-event和yahoo-dom-event中定义,正如kinglomei所说。

如果您使用的是缩小代码,那么kinglomei的解决方案可以很好地工作,但是如果您引用调试或只是未明确的代码,您的代码应该是这样的(缩小重命名变量):

 if (o.ie == 0 && ua.indexOf('Trident') != -1){
     o.ie = 11;
 }

答案 2 :(得分:1)

我在其他地方发布了这个,但认为它也适用于此:

我在旧网站上使用2.7.0b。只要明白,除非您使用完全相同的库版本,否则这些“修复”都不适合您。这是因为每个都被“最小化”,为了最小化,使用了各种字符。所以你可能不得不做一些狩猎。另外,请记住,根据您是否使用yahoo.js,yahoo-dom-event.js或在我的情况下,utilities.js,这可能会有所不同。所以你需要做出相应的调整。

第1步:

在utilities / utilities.js& yahoo-dom-event / yahoo-dom-event.js on ln 7 Character 1592(ln 396 of yahoo.js): 紧接着:

if(A&&A[1]){C.caja=parseFloat(A[1]);}

但之前:

return C;}();

添加:

if (C.ie==0&&B.indexOf('Trident')!=-1){C.ie=11;}

第2步:

编辑/编辑-min.js&编辑/ simpleeditor-min.js,第13行,字符2078(编辑的第3135页,简称为31s of simpleeditor.js)

紧接着:

(navigator.userAgent.indexOf("Firefox/1.5")!=-1)){

但之前:

try{if(this.browser.air)

添加:

if(this.browser.ie==11){this.browser.ie=0;}