WKWebView에서 페이지를로드 한 다음 링크를 비활성화하려고합니다. 링크의 대부분은 상대적입니다. WKWebView에서 링크를 비활성화 하시겠습니까?
webView:decidePolicyForNavigationAction:decisionHandler:
으로 시도하지만,이 호출과 내가
navigationAction.request.URL
를 사용하는 경우 상대 링크가 표시되지 않습니다 전에 새 페이지가로드됩니다. 또한
UIDelegate
으로 시도했지만 전혀로드되지 않았습니다.
아이디어가 있으십니까? Obj C가 선호되지만 Swift도 괜찮습니다.
편집 :
OK, 내가 질문을 조금 바꿔 것이다.
사용자가 링크를 누르면 WKWebView를 열어서 해당 링크를 배열에 저장하려고합니다. 특정 조건이 충족되면 loadrequest를 사용하여 수동으로 열 수 있습니다.
코드는 그들은, 비디오 (206) NSURL *selectedURL = navigationAction.request.URL;
감지하고 외부 링크를 사용하지 않도록 WWDC 2014 년에 사용했던
- (void)viewDidLoad {
[super viewDidLoad];
NSString *sURL = @"https://www.mytestingwebsite.com";
NSURL *URL = [NSURL URLWithString:sURL];
WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
[self addUserScriptsToUserContentController:theConfiguration.userContentController];
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:theConfiguration];
webView.navigationDelegate = self;
webView.UIDelegate = self;
//webView.allowsLinkPreview = TRUE;
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:URL];
[webView loadRequest:nsrequest];
[self.view addSubview:webView];
}
간단하다. 하지만 분명히 저를 위해 일하지 않습니다. 방금 NSLog와 중단 점을 추가하여 테스트했습니다.
당신이'webView.allowsLinkPreview = FALSE '시도? – penatheboss
시도해보십시오. 그러나 기본값은 false입니다. 그것이 사실이라면 누르십시오 만요.하지만 특정 조건이 충족되면 수동으로 열어서 수동으로 열려고합니다. – elektricni
은 코드 식별을 위해 – user3182143