2017-09-21 1 views
2

ios10 이전 버전에서 작동 할 수 있지만 ios11에서는 작동하지 않습니까?iOS11의 WKWebview에서 javascript 'window.location.hash'가 작동하지 않는 이유는 무엇입니까?

- (void)jumpToHash:(WKWebView *)wkWebView { 
NSString * jsJumpToHash =[NSString stringWithFormat:@"function jumpToHash(){window.location.hash ='#%@hash';};",self.hashLocation]; 

[wkWebView evaluateJavaScript:jsJumpToHash completionHandler:^(id Result, NSError * error) {}]; 

NSString *jsFun = @"jumpToHash()"; 

[wkWebView evaluateJavaScript:jsFun completionHandler:^(id Result, NSError * error) {}]; 

self.hashLocation = @""; 
} 

답변

3

iOS11에서 window.location.hash는 위치를 스크롤 할 수 있도록 지원하지 않습니다.

선택한 위치

[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"var hashElement=document.getElementById('%@');if(hashElement) {hashElement.scrollIntoView();}", href]]; 
+0

이 작동하지만, 단지 주석에 스크롤 웹 페이지에 대한 다음 코드를 사용하십시오 : hashElement는 "해시"작업 ​​자체에 서명을 할 필요가 없습니다. 예 : 요소가 '#header'인 경우이 코드에서 '헤더'를 href로 전달해야합니다. –

관련 문제