2016-11-08 134 views
1

在Chrome中,我可以使用如何獲取選定的文本?

window.getSelection().toString() 

獲取所選文本。但是,即使Mozilla開發者網絡says it should work,在Firefox中,這不會給出選定的文本,而是文字字符串Instance of 'Selection'

獲取選定文本的正確方法是什麼?

+1

好像它是由飛鏢遊戲默認的'的toString()'實現覆蓋。那麼'window.getSelection()。getRangAt(0)'? –

+0

@GünterZöchbauer應該提到我也嘗試過,類似的結果。 –

+0

「相似的結果」究竟意味着什麼? –

回答

2

這看起來非常像dart:html中的一個錯誤。

至於解決方法,你可以使用JS-互操作

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

相關問題