goBack
방법을 위반하지 않고 사용자 정의 HTML을 UIWebView
에로드하는 데 문제가 있습니다. 내 UIWebView
의 URL 요청을 차단하고있어UIWebView에서 NSURLRequests를 가로 채지 않고 뒤로 단추를 깰 수 있습니까?
작동 무엇
그래서 사용자 정의 HTML을로드 할 수 있습니다. 나는 모든 HTML을 제어 할 수 있으므로, 내 특별한 앱 요청은 webView:shouldStartLoadWithRequest:navigationType:
에서 구문 분석 할 수있는 맞춤 구성표 (즉, myapp://arg1/?arg2=val
)를 사용한다. HTML을 실제로로드하고 loadHTMLString:baseURL
을 호출하고 NO
을 반환하여 원래 요청을 취소합니다. 큰
위의 작품을 작동하지 않습니다 무엇
. 문제는 UIWebView's
goBack
메서드를 사용하고 loadRequest:
은 해당 내역 스택에 추가하는 유일한 UIWebView
메서드 인 것으로 보입니다.
몇 가지 아이디어가 있지만 가능한 것은 무엇인지, 어떻게 갈 것인지 잘 모르겠습니다. 주요 것은 내가 을 webView:shouldStartLoadWithRequest:navigationType
에 돌려 보내야하고, UIWebView
의 loadRequest
방법을 사용해야한다는 것입니다.
아이디어 1 : NSURLRequest/응답을 수정 내가 NSURLRequest를 서브 클래 싱 할 수 있도록 실제로 HTTP 요청을하지 않습니다합니다 (있는 UIWebView는 요청을 할 때)과 내 HTML와 함께 NSURLResponse을 반환? 아니면 NSURLResponse 어떻게 든 카테고리 방법을 수정/하위 클래스/추가? 나는 그것이 진짜 요청이라는 생각을 좋아하지만, 나는 프라이빗 API에 관심이 있고 앱 스토어에서 거절 당한다.
아이디어 2 : 핸들 사용자 정의 URL 프로토콜을 등록 사용자 정의 URL 프로토콜 그래서 내 응용 프로그램은 응답하고 나는 그것이 합법적 인 NSURLResponse 반환 할 수 있습니다
아이디어 3 (내 사용자 지정 HTML로 가득합니다.) : 캐시를 속일 수있다 캐시 정책이 NSURLRequestReturnCacheDataDontLoad
인 요청을 만든 다음 webView와 캐시간에 내 HTML을 가져온다.
아니면 완전히 잘못된 트랙에 있습니다.
당신이 좋은 해결책을 마련 했습니까? 그렇다면 무엇 이었습니까? –
내 새로운 대답을 참조하십시오. – zekel