0

このリンクで言及されているのと同じ問題に直面しています(IE11で壊れたリッチテキスト(YUI)エディターはYUI(2.9)の解決策を提供しましたが、アプリケーションでYUI(2.5.2 )を使用しています.YAHOOが見つかりませんでしたyahoo-dom-event.js の .env.parseUA。YUI(2.5.2) ライブラリで YAHOO.env.parseUA プロパティを検索しましたでもYUI (2.5.2) でこれを修正する方法を提案できますか。

4

3 に答える 3

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;
}();
于 2015-12-09T17:21:17.520 に答える
0

simple-editor.jsに次の変更を加えます。

  • のすべてのインスタンスを見つけるthis.browser.ie
  • すべてを!!window.MSInputMethodContext || this.browser.ie
于 2014-02-28T06:37:56.100 に答える