2016-10-01 51 views
0

我正在創建一個mac應用程序,它需要具有與Apple郵件中用於添加和編輯郵件中的url相同的功能。WebView添加和編輯文本作爲鏈接目標-C

如果我做了下面,我得到的問題,它並沒有檢測到選定的文本爲紐帶

DOMRange *selectedDomRange = [self.cannedResponseWebView selectedDOMRange]; 
DOMNode *commonNode = [selectedDomRange commonAncestorContainer]; 
DOMNode *parentNode = [commonNode parentNode]; 
NSString *linkDisplay = [[[parentNode attributes] getNamedItem:@"href"] nodeValue]; 

有人能幫助我與此有關。請讓我知道是否有人無法理解這個問題。

回答

0

最後我終於解決了這個問題。請找到下面的代碼片段:

- (NSString *)webViewContainURLString:(WebView *)webView { 
    DOMNode *selectedNode = [[[webView selectedDOMRange] commonAncestorContainer] parentNode]; 
    DOMNode *anchorNode = [self nodeContaingAnchorNode:selectedNode]; 
    NSString *urlString = [[[anchorNode attributes] getNamedItem:@"href"] nodeValue]; 

    return urlString; 
} 

- (DOMNode *)containingAnchorNode:(DOMNode *)selectedNode { 
    DOMNode *startingNode = selectedNode; 
    DOMNode *finalNode = nil; 

    if (selectedNode) { 
     while (startingNode) { 
      if ([[startingNode attributes] getNamedItem:@"href"]) { 
       finalNode = startingNode; 
       break; 
      } 

      startingNode = [startingNode parentNode]; 
     } 
    } 

    return finalNode; 
}