【问题标题】:WebView adding and editing text as a link objective-CWebView添加和编辑文本作为链接objective-C
【发布时间】:2017-02-09 23:15:58
【问题描述】:

我正在创建一个 mac 应用程序,它需要具有与 Apple 邮件中可用的功能相同的功能,以便在邮件中添加和编辑 url。

如果我执行以下操作,我会遇到无法将所选文本检测为链接的问题

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

有人可以帮我解决这个问题。如果有人无法理解该问题,请告诉我。

【问题讨论】:

    标签: macos cocoa webview


    【解决方案1】:

    最后我能够解决问题。请找到以下代码sn-p:

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

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      相关资源
      最近更新 更多