새 페이지를로드 할 때 WebView에서로드 된 자바 스크립트 콘텐츠를 보존하는 방법은 무엇입니까?

마이크 리 슈케

WebView에서을 view.stringByEvaluatingJavaScriptFromString통해 검색 할 수있는 JS 컨텍스트에서 직접 코드를 실행 하거나로드하여 자바 스크립트 코드를 로드 할 수 있습니다 view.mainFrame.javaScriptContext.

그러나 새 URL (WebView.mainFrame 또는 Javascript, 예 : 설정 window.location)로 이동하면 모든 자바 스크립트 코드가 손실되어 다시로드해야합니다. 이것은 JS 코드에서 탐색하고 스크립트에서 계속 진행하려는 경우 특히 문제가됩니다. 모든 JS를 지우는 것을 피하고 특히 현재 JS 코드를 중지하는 것을 방지하는 방법이 있습니까?

마이크 리 슈케

결과적으로 컨텍스트 재생성을 방지하는 것은 불가능합니다. 대신 독립형 JSContext 인스턴스 (수동으로 생성됨)와 해당 컨텍스트에서 변수로 설정 한 WebView 인스턴스로 끝났습니다. 이렇게하면 독립형 컨텍스트에서 자바 스크립트를 실행할 수 있지만 WebView를 사용하여 모든 웹 작업을 수행 할 수 있습니다. 가장 큰 단점은 단순히 DOM에서 작동 할 수는 없지만 컨텍스트에서 조작 기능을 제공하거나 (WebView 인스턴스에 매핑) JS에 메서드를 게시하는 모든 WebView 클래스 (DOMDocument 등)에 대한 확장을 생성해야한다는 것입니다. 이렇게하면 swift / obj-c 클래스에서 직접 작업 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관