2013-08-22 62 views

回答

0

也許這個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(). 
+1

不要只發佈一個鏈接。當鏈接變得無法訪問時,你的回答將是無用的。發佈鏈接和至少一個摘要。 – Baz

+0

道歉將編輯。 –

+0

我正在試着這段代碼。這給只有超鏈接文本沒有得到純文本鼠標選擇 – Abhit

0

這似乎對我很好。試一試。

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); 
    } 
});