论坛编辑器的JS代码有问题,导致火狐浏览器无法正常使用 ...

来源:百度文库 编辑:超级军网 时间:2024/04/29 06:03:10


最近一段时间以来,Firefox浏览器无法正常使用论坛编辑器的绝大部分功能,只有 B I U 这三个按钮有效。

我Debug了一下,发现问题出在 editor.js 中的 showEditorMenu(tag, params) 方法,其中

  1.   if (BROWSER.rv) {
  2.     selection = editdoc.getSelection();
  3.     sel = selection.getRangeAt(0);
  4.     selection = readNodes(sel.cloneContents(), false);
  5.   }
复制代码


对于火狐浏览器来说,这段代码是要执行的(因为只有火狐浏览器才设置BROWSER.rv这个值)

但 editdoc 对象的类型是 TEXTAREA,而火狐不支持 TEXTAREA 对象使用 getSelection() 方法。恰恰相反,这段代码似乎是针对 IE 浏览器的。所以每次运行到这里代码就出错了。

为了解决问题,可以去除这段代码,也可以把  if (BROWSER.rv) 改成  if (!BROWSER.rv)

最近一段时间以来,Firefox浏览器无法正常使用论坛编辑器的绝大部分功能,只有 B I U 这三个按钮有效。

我Debug了一下,发现问题出在 editor.js 中的 showEditorMenu(tag, params) 方法,其中

  1.   if (BROWSER.rv) {
  2.     selection = editdoc.getSelection();
  3.     sel = selection.getRangeAt(0);
  4.     selection = readNodes(sel.cloneContents(), false);
  5.   }
复制代码

对于火狐浏览器来说,这段代码是要执行的(因为只有火狐浏览器才设置BROWSER.rv这个值)

但 editdoc 对象的类型是 TEXTAREA,而火狐不支持 TEXTAREA 对象使用 getSelection() 方法。恰恰相反,这段代码似乎是针对 IE 浏览器的。所以每次运行到这里代码就出错了。

为了解决问题,可以去除这段代码,也可以把  if (BROWSER.rv) 改成  if (!BROWSER.rv)
观察到了,Firefox34回复本贴,稍后解决。谢谢。
问题解决了,Firefox34通过。
FFCZ 发表于 2015-1-7 12:26
问题解决了,Firefox34通过。
好好好!