如何获取所选文字?

时间:2016-11-08 20:44:55

标签: html5 dart dart-html

在Chrome中,我可以使用

window.getSelection().toString()

获取所选文字。但是,即使Mozilla开发人员网络says it should work,在Firefox中,它也不会提供所选文本,而是提供文字字符串Instance of 'Selection'

获取所选文本的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

这看起来像dart:html中的错误。

作为解决方法,您可以使用js-interop

DartPad example

import 'dart:js';
...
print(context.callMethod('getSelection'));

答案 1 :(得分:1)

Dart2JS确实是罪魁祸首。关闭缩小并查看输出Javascript显示:

t2 = J.getInterceptor(selection);
t1 = t2.toString$0(selection);

使用以下命令手动替换它:

t1 = selection.toString();

解决了这个问题。

我已经报告了错误:https://github.com/dart-lang/sdk/issues/27789