2016-10-01 117 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; 
}