2016-10-01 3 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; 
} 
Смежные вопросы