我们为 Xinha 文本编辑器编写了一个插件来处理脚注。你可以看看: http ://www.nicholasbs.com/xinha/examples/Newbie.html
为了处理 Webkit 和 IE 在行尾处理链接的方式的一些问题(没有办法使用光标离开同一行的链接),我们插入一个空白元素并将选择移动到那个,比崩溃对。这在 Webkit 和 Gecko 中运行良好,但由于某种原因 moveToElementText 吐出 Invalid Argument 异常。我们传递给它的元素无关紧要,该功能似乎完全被破坏了。但是,在其他代码路径中,此功能似乎有效。
要使用上面的链接重现错误,请单击主文本输入区域,键入任何内容,然后单击带有绿色加号的黄色页面图标,在灯箱对话框中键入任何内容,然后单击“插入”。导致问题的代码示例如下:
if (Xinha.is_ie)
{
var mysel = editor.getSelection();
var myrange = doc.body.createTextRange();
myrange.moveToElementText(newel);
} else
{
editor.selectNodeContents(newel, false);
}
有问题的代码位于 svn 中: https ://svn.openplans.org/svn/xinha_dev/InsertNote
这个插件是针对 Xinha 的一个分支构建的,可以从 svn 获得: http ://svn.xinha.webfactional.com/branches/new-dialogs