0
Fork 0
mirror of https://github.com/fastmail/Squire.git synced 2024-12-22 07:13:08 -05:00

Merge pull request #148 from rayui/Issue-147

[Issue-147] Fix Firefox hidden iframe win.getSelection() bug
This commit is contained in:
Neil Jenkins 2015-10-12 23:06:34 +02:00
commit f3028bf3ff

View file

@ -39,7 +39,6 @@ function Squire ( doc, config ) {
this._events = {};
this._sel = win.getSelection();
this._lastSelection = null;
// IE loses selection state of iframe on blur, so make sure we
@ -325,17 +324,23 @@ proto.setSelection = function ( range ) {
if ( isIOS ) {
this._win.focus();
}
var sel = this._sel;
sel.removeAllRanges();
sel.addRange( range );
var sel = this._getWindowSelection();
if ( sel ) {
sel.removeAllRanges();
sel.addRange( range );
}
}
return this;
};
proto._getWindowSelection = function () {
return this._win.getSelection() || null;
};
proto.getSelection = function () {
var sel = this._sel,
var sel = this._getWindowSelection(),
selection, startContainer, endContainer;
if ( sel.rangeCount ) {
if ( sel && sel.rangeCount ) {
selection = sel.getRangeAt( 0 ).cloneRange();
startContainer = selection.startContainer;
endContainer = selection.endContainer;