我遇到了这个链接中提到的相同问题(Rich Text (YUI) Editor Broken on IE11他们为YUI(2.9)提供了解决方案,但我在我的应用程序中使用了 YUI(2.5.2 )。我没有在yahoo-dom-event.js中找到 YAHOO.env.parseUA 。我在 YUI(2.5)中搜索了 YAHOO.env.parseUA 属性.2)库。任何人都建议如何为YUI(2.5.2)修复此问题。
答案 0 :(得分:0)
对simple-editor.js使用以下更改:
this.browser.ie
!!window.MSInputMethodContext || this.browser.ie
答案 1 :(得分:0)
我在旧网站上使用2.7.0b。请理解,除非您使用的是库的确切版本,否则这些“修复”都不适合您。这是因为每个都被“最小化”,为了最小化,使用了各种字符。所以你可能不得不做一些狩猎。另外,请记住,根据您是否使用yahoo.js,yahoo-dom-event.js或在我的情况下,utilities.js,这可能会有所不同。所以你需要做出相应的调整。
在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;}
编辑/编辑-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;}
答案 2 :(得分:0)
虽然没有YAHOO.env.parseUA,但yahoo-dom-event.js确实在2.5.2中有YAHOO.env.ua。我能够通过添加
来完成这项工作else{A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}}
之间的
A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}
和
}}}return C;}();
第7行,第1514栏。
这将查找用户代理字符串中的修订号,并将其设置为ie,如果它与其他任何字符串不匹配。使用Edge时,将返回ie = 11。
为了便于阅读,在添加我的部分
后,YAHOO.env.ua的代码如下所示YAHOO.env.ua = function () {
var C = { ie: 0, opera: 0, gecko: 0, webkit: 0, mobile: null, air: 0 };
var B = navigator.userAgent, A;
if ((/KHTML/).test(B)) {
C.webkit = 1;
}
A = B.match(/AppleWebKit\/([^\s]*)/);
if (A && A[1]) {
C.webkit = parseFloat(A[1]);
if (/ Mobile\//.test(B)) {
C.mobile = "Apple";
} else {
A = B.match(/NokiaN[^\/]*/);
if (A) {
C.mobile = A[0];
}
}
A = B.match(/AdobeAIR\/([^\s]*)/);
if (A) {
C.air = A[0];
}
}
if (!C.webkit) {
A = B.match(/Opera[\s\/]([^\s]*)/);
if (A && A[1]) {
C.opera = parseFloat(A[1]);
A = B.match(/Opera Mini[^;]*/);
if (A) {
C.mobile = A[0];
}
} else {
A = B.match(/MSIE\s([^;]*)/);
if (A && A[1]) {
C.ie = parseFloat(A[1]);
} else {
A = B.match(/Gecko\/([^\s]*)/);
if (A) {
C.gecko = 1;
A = B.match(/rv:([^\s\)]*)/);
if (A && A[1]) {
C.gecko = parseFloat(A[1]);
}
} else {
A = B.match(/rv:([^\s\)]*)/);
if (A && A[1]) {
C.ie = parseFloat(A[1]);
}
}
}
}
}
return C;
}();