1
我在我的項目中實現了用於顯示網頁的SWT瀏覽器。 在此瀏覽器中顯示網頁後,如果用戶選擇特定文本,如何獲取所選文本?請用適合的例子來幫助我在SWT瀏覽器窗口小部件中獲取選定的文本
我在我的項目中實現了用於顯示網頁的SWT瀏覽器。 在此瀏覽器中顯示網頁後,如果用戶選擇特定文本,如何獲取所選文本?請用適合的例子來幫助我在SWT瀏覽器窗口小部件中獲取選定的文本
也許這個link會幫助你。
此鏈接提供使用StatusTextListener截取文本選擇的想法。以下是StatusTextListener實現的一部分。
// Status Text Listener Interface.
public void changed (StatusTextEvent evt) {
String text = evt.text;
if ((text != null) && (text.length() > 0)) {
if ((! text.equalsIgnoreCase ("Done")) && (! text.equals (lastStatusText))) {
System.err.println (evt.text);
lastStatusText = text;
}
}
} // End of changed().
這似乎對我很好。試一試。
static String SCRIPT01 = "var html = \"\";"+
"if (typeof window.getSelection != \"undefined\") {"+
"var sel = window.getSelection();"+
"if (sel.rangeCount) {"+
"var container = document.createElement(\"div\");"+
"for (var i = 0, len = sel.rangeCount; i < len; ++i) {"+
"container.appendChild(sel.getRangeAt(i).cloneContents());"+
"}"+
"html = container.innerHTML;"+
"}"+
"} else if (typeof document.selection != \"undefined\") {"+
"if (document.selection.type == \"Text\") {"+
"html = document.selection.createRange().htmlText;"+
"}" +
"}" +
"return html";
browser.addMouseListener(new MouseListener() {
@Override
public void mouseUp(MouseEvent arg0) {
String selection = (String) browser.evaluate(SCRIPT01);
}
@Override
public void mouseDown(MouseEvent arg0) {
}
@Override
public void mouseDoubleClick(MouseEvent arg0) {
String selection = (String) browser.evaluate(SCRIPT01);
}
});
不要只發佈一個鏈接。當鏈接變得無法訪問時,你的回答將是無用的。發佈鏈接和至少一個摘要。 – Baz
道歉將編輯。 –
我正在試着這段代碼。這給只有超鏈接文本沒有得到純文本鼠標選擇 – Abhit