나는 html 파일을 UIWebview
으로 읽고 있습니다. webViewDidFinishLoad
에서 가로 스크롤에 대한 자바 스크립트 기능을 수행하고 있습니다. 아래 코드는 정상적으로 작동합니다. 하지만 나는 자바 스크립트 기능이 끝날 때 예측할 수 없습니다.stringByEvaluatingJavaScriptFromString 평가 porcess 완료 방법을 결정하는 방법은 무엇입니까?
보이는 webview에서 먼저 html 파일을로드 한 다음 스크립트를 실행하십시오. 그래서 나는 webViewDidFinishLoad
에서 자바 스크립트 마무리를 결정할 수 있습니다.
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *scriptString [email protected]"javascript:function initialize() { var eelam = document.getElementsByTagName('body')[0]; var ourH = window.innerHeight;var ourW = window.innerWidth; var fullH = eelam.offsetHeight; var pageCount = Math.ceil(fullH/ourH)+1; var padval = parseInt((screen.width*10)/100);var currentPage = 0; var newW = pageCount*ourW;eelam.style.height = (ourH - 30)+'px';eelam.style.width = (newW)+'px';eelam.style.webkitColumnGap = '5px'; eelam.style.margin = '25px'; eelam.style['margin-left']='2px';eelam.style.webkitColumnCount = pageCount; window.interface.setPageCount(pageCount);window.interface.setColumnWidth(screen.width);window.interface.setContent(eelam);window.interface.setColumnGap(padval);};";
// set font
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",
textFontSize];
[mywebview stringByEvaluatingJavaScriptFromString:scriptString];
[mywebview stringByEvaluatingJavaScriptFromString:@"javascript:initialize()"];
[mywebview stringByEvaluatingJavaScriptFromString:jsString];
// scroll disable
UIView* row = nil;
for(row in webView.subviews){
if([row isKindOfClass:[UIScrollView class] ]){
UIScrollView* scrollRow = (UIScrollView*) row;
scrollRow.scrollEnabled = NO;
scrollRow.bounces = NO;
scrollRow.pagingEnabled=YES;
}
}
// this code is also not use to handle my issue
if ([[mywebview stringByEvaluatingJavaScriptFromString:@"document.readyState"] isEqualToString:@"complete"]) {
}
}
나에게 알려 주시기 바랍니다 사전에
덕분에,
네, 제 문제입니다. 어떻게 해결합니까? – Senthilkumar
해결하고자하는 것이 무엇인지 잘 모르겠습니다. 비동기로 만드시겠습니까? 나는 그것이 실용적이거나 쉽게 성취 할 수 있다고 믿지 않는다. – carlossless