2022. 11. 28. 15:58ㆍiOS/iOS
javascript에게 함수나 값을 전달할때
어떤 블로그에선 evaluateJavaScript를 사용하고, 어디에선 addUserScript를 사용하던데 무슨 차이인지가 궁금해졌다.
나와 같은 궁금증을 가진 stackoverflower가 있었는데...
Javascript in WKWebView - evaluateJavaScript vs addUserScript
I am trying to understand the best way to execute javascript with WKWebview Could someone please give me the use cases / best practices when using WKWebView. When to use addUserScript and
stackoverflow.com
stackoverflower1
네이티브 코드에서 js DOM 강조 텍스트로 javascript 삽입 WKUserContentController를 사용하면 DOM 트리가 로드되기 시작하거나 로드가 완료될 때 삽입할 WKUserScript를 추가(및 제거)할 수 있습니다. 반대로, evaluateJavaScript를 사용하면 애플리케이션이 언제든지 필요에 따라 자바스크립트 스니펫을 실행할 수 있습니다.
-> 잘.. 잘 모르겠어요 더 쉬운 설명좀..
stackoverflower2 & 3
제 경험상 WKUserScript는 더 많은 권한을 가지고 있는 것 같습니다.
그러나 WKUserScript는 삽입한 javascript를 실행하기 위해 추가 reload()가 필요합니다. 그래서 때로는 코드가 복잡해지는데
webView가 요청을 로드하기 전에 contentController에 추가하면 추가 reload() 작업이 필요하지 않긴 합니다.
evaluateJavaScript 메소드를 사용하여 쿠키를 주입할 수 있습니다.
일단 가장 큰 차이는 쿠키 주입의 여부인것 같음.
'iOS > iOS' 카테고리의 다른 글
bannaviiOS) testflight archive할때 주의사항 (0) | 2022.11.29 |
---|---|
bannaviiOS) testflight error: This bundle is invalid (Feat.UIApplicationExitsOnSuspend) (0) | 2022.11.29 |
bannaviiOS) wkWebView 뽀개기(feat.evaluateJavaScript vs WKScriptMessageHandler) (0) | 2022.11.28 |
bannaviiOS) wkWebView 뽀개기(feat. WKScriptMessageHandler) (0) | 2022.11.25 |
bannaviiOS) wkWebView 뽀개기(feat. WKUserContentController) (0) | 2022.11.25 |