Opened 11 years ago

Closed 10 years ago

Last modified 10 years ago

#1471 closed defect (fixed)

Table Operations broken in IE8

Reported by: wymsy Owned by: gogo
Priority: normal Milestone: 0.96
Component: Xinha Core Version: trunk
Severity: major Keywords: IE8, TableOperations


The TableOperations? plugin does not work in IE 8 in the nightly example. If you create a table and then place the cursor in a cell, none of the table editing functions do anything. No errors are thrown. However, if you select some text in a cell, everything works correctly. Something to do with the cursor and selections? Everything is normal in other browsers.

(Some of the other plugins are affected by the same bug, like InsertAnchor? and CreateLink?. But I suspect getting tables to work will probably fix the others as well.)

Change History (5)

comment:1 Changed 11 years ago by guest

The problem seems to be in _createRange function. IE8 is working different than earlier IEs.

The original beginning of _createRange function:

HTMLArea.prototype._createRange = function(sel) {
  if (HTMLArea.is_ie) {
    return sel.createRange();
  } else {

The fixed version:

HTMLArea.prototype._createRange = function(sel) {
  if (HTMLArea.is_ie) {
+    if (sel.type == "None")
+    {
+       this.focusEditor();
+    }
    return sel.createRange();
  } else {

The problem exists when there is no text selection made in editor. Without focusEditor IE8 does not found the correct place of html.

Jukka Laaksola

comment:2 Changed 11 years ago by gogo

  • Resolution set to fixed
  • Status changed from new to closed

Thank you guest, this has been committed in changeset:1207

I note however you are using a very old version of Xinha, please upgrade.

comment:3 Changed 10 years ago by gogo

  • Resolution fixed deleted
  • Status changed from closed to reopened

The fix to #1508 (r1259) will have brought this issue back to light.


comment:4 Changed 10 years ago by gogo

  • Resolution set to fixed
  • Status changed from reopened to closed

changeset:1260 commits a hopefully better fix for this, the problem was that when you click the toolbar button, IE8 decided that you were making a new selection, so threw out the old one.

It is necessary to set unselectable="on" (1 and true didn't seem to work, only "on"!) for EVERY element in the toolbar. This is totally retarded and probably panels may need similar treatment, but this is perhaps harder because panels get redrawn all the time.

comment:5 Changed 10 years ago by gogo

See #1508 #1510

Note: See TracTickets for help on using tickets.