--- takahashi.xul 2006/06/10 08:44:15 7 +++ takahashi.xul 2006/06/10 15:20:43 11 @@ -1008,7 +1008,7 @@ if (this.dataPath != file) { var path = this.dataPath; var request = new XMLHttpRequest(); - request.open('GET', path); + request.open('GET', path + '?rand=' + Math.random() ); request.onload = function() { Presentation.textbox.value = request.responseText; Presentation.data = Presentation.textbox.value; @@ -1060,8 +1060,6 @@ }, insert : function(aType) { - var scrollTop = this.textbox.scrollTop; -// alert(this.textbox.scrollTop); switch (aType) { case 'page': @@ -1096,15 +1094,23 @@ default: return; } - this.textbox.scrollTop = scrollTop; this.onEdit(); }, insertTextFor : function(aString, aNode, aPosOffset) { var pos = aNode.selectionStart; + var sel_len = aNode.selectionEnd - aNode.selectionStart; var value = aNode.value; - aNode.value = [value.substring(0, pos), aString, value.substring(pos, value.length)].join(''); - aNode.selectionEnd = aNode.selectionStart = pos + (aPosOffset || 0); + if (! aPosOffset) aPosOffset = 0; + aNode.value = [ + value.substring(0, pos), + aString.substring(0,aPosOffset), + value.substring(pos, pos + sel_len), + aString.substring(aPosOffset, aString.length), + value.substring(pos + sel_len, value.length - sel_len) + ].join(''); + aNode.selectionStart = pos + (aPosOffset || 0); + aNode.selectionEnd = aNode.selectionStart + sel_len; },