提交 46557e20 编写于 作者: C campaign

by zhanyi

上级 cedaf566
......@@ -354,7 +354,7 @@
me.isReady = 1;
me.fireEvent('ready');
options.onready && options.onready.call(me);
if (!browser.ie) {
if (!browser.ie9under) {
domUtils.on(me.window, ['blur', 'focus'], function (e) {
//chrome下会出现alt+tab切换时,导致选区位置不对
if (e.type == 'blur') {
......
......@@ -116,7 +116,7 @@
var Selection = dom.Selection = function ( doc ) {
var me = this, iframe;
me.document = doc;
if ( ie ) {
if ( browser.ie9under ) {
iframe = domUtils.getWindow( doc ).frameElement;
domUtils.on( iframe, 'beforedeactivate', function () {
me._bakIERange = me.getIERange();
......@@ -145,7 +145,7 @@
getNative:function () {
var doc = this.document;
try {
return !doc ? null : ie && browser.ie < 9 ? doc.selection : domUtils.getWindow( doc ).getSelection();
return !doc ? null : browser.ie9under ? doc.selection : domUtils.getWindow( doc ).getSelection();
} catch ( e ) {
return null;
}
......@@ -204,7 +204,7 @@
*/
isFocus:function () {
try {
return browser.ie && _getIERange( this ) || !browser.ie && this.getNative().rangeCount ? true : false;
return browser.ie9under && _getIERange( this ) || !browser.ie9under && this.getNative().rangeCount ? true : false;
} catch ( e ) {
return false;
}
......@@ -238,7 +238,8 @@
return this._cachedRange;
}
var range = new baidu.editor.dom.Range( me.document );
if ( ie && browser.ie < 9 ) {
if ( browser.ie9under ) {
var nativeRange = me.getIERange();
if ( nativeRange ) {
//备份的_bakIERange可能已经实效了,dom树发生了变化比如从源码模式切回来,所以try一下,实效就放到body开始位置
......@@ -282,10 +283,10 @@
if ( this._cachedStartElement ) {
return this._cachedStartElement;
}
var range = ie ? this.getIERange() : this.getRange(),
var range = browser.ie9under ? this.getIERange() : this.getRange(),
tmpRange,
start, tmp, parent;
if ( ie ) {
if ( browser.ie9under ) {
if ( !range ) {
//todo 给第一个值可能会有问题
return this.document.body.firstChild;
......@@ -328,13 +329,13 @@
getText:function () {
var nativeSel, nativeRange;
if ( this.isFocus() && (nativeSel = this.getNative()) ) {
nativeRange = browser.ie ? nativeSel.createRange() : nativeSel.getRangeAt( 0 );
return browser.ie ? nativeRange.text : nativeRange.toString();
nativeRange = browser.ie9under ? nativeSel.createRange() : nativeSel.getRangeAt( 0 );
return browser.ie9under ? nativeRange.text : nativeRange.toString();
}
return '';
},
clearRange : function(){
this.getNative()[browser.ie ? 'empty' : 'removeAllRanges']();
this.getNative()[browser.ie9under ? 'empty' : 'removeAllRanges']();
}
};
})();
\ No newline at end of file
......@@ -90,6 +90,10 @@ var browser = UE.browser = function(){
*/
browser.ie6Compat = ( version < 7 || browser.quirks );
browser.ie9above = version > 8;
browser.ie9under = version < 9;
}
// Gecko.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册