2016-11-08 9 views
1

В Chrome я могу использоватьКак получить выделенный текст?

window.getSelection().toString() 

, чтобы получить выделенный текст. Тем не менее, , хотя Mozilla Developer Network says it should work, в Firefox, это не дает выделенный текст, а скорее буквальную строку Instance of 'Selection'.

Каков правильный способ получить выделенный текст?

+1

Кажется, он переопределяется Darts по умолчанию 'ToString()' реализации. Как насчет 'window.getSelection(). GetRangAt (0)'? –

+0

@ GünterZöchbauer Должен был упомянуть, что я тоже пробовал это, аналогичный результат. –

+0

Что означает «аналогичный результат»? –

ответ

2

Это выглядит определенно как ошибка в dart:html.

Как временное решение вы можете использовать JS-Interop

DartPad example

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

Dart2JS действительно был виновником. Включение минификация выключение и глядя на выходе Javascript показывает:

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

вручную заменить его после компиляции с:

t1 = selection.toString(); 

устраняет проблему.

Я сообщил об ошибке: https://github.com/dart-lang/sdk/issues/27789

 Смежные вопросы

  • Нет связанных вопросов^_^