문서 문제에서 Cordova로드 리소스 (WKwebview)
모든 앱의 콘텐츠를 / Documents / 폴더에 다운로드하는 매우 간단한 Cordova 애플리케이션이 있습니다. 여기에 HTML, 이미지, CSS 및 자바 스크립트를 저장합니다. 이전 버전이 더 이상 사용되지 않기 때문에 최근에 WKWebview로 이동했습니다. 문서에서 HTML을 읽어 로컬 색인 파일에 추가합니다. 이 모든 것이 잘 작동합니다. 그런 다음 src를 'file : //.../data/Containers/Application/Documents/test.js'(파일이 있음)로 설정하여 스크립트 블록을 추가하려고합니다. 이 기능은 지원되지 않습니다. 다음 메시지가 표시됩니다. 리소스를로드하지 못했습니다. 작업을 완료 할 수 없습니다. 허용되지 않는 작업 최신 Cordova 및 최신 IOS 플랫폼을 사용하고 있습니다.
누구든지 이것을 해결하는 방법에 대한 아이디어가 있습니까? 시뮬레이터에서는 모두 잘 작동하지만 iPad 장치에서는 작동하지 않습니다.
미리 감사드립니다.
남자 이름
답변
해결책이 없습니다. 해결책이없는 것처럼 보였던 절망적 인 날 이후에 제가 찾은 코드를 크게 변경할 필요가 없습니다.
다음 두 단계가 필요합니다.
먼저 다음과 같이 config.xml을 업데이트하십시오.
<platform name="ios">
<preference name="scheme" value="app" />
<preference name="hostname" value="localhost" />
</platform>
그런 다음 문서화되지 않은 방법을 사용하여 file : // 링크를 변환하십시오.
window.WkWebView.convertFilePath(filePath)
이 메서드는 파일에 액세스 할 수 있도록하고 WkWebView 제한을 우회하는 가상 로컬 호스트 링크로 변환을 수행합니다. 조금 더 긴 샘플은 이렇게갑니다
let localFile = cordova.file.dataDirectory + 'logo.png';
let convertedPath = window.WkWebView.convertFilePath(localFile);
document.getElementById("myImg").src = convertedPath;
아. 내 응용 프로그램에서 이틀 전에 파일 프로토콜 'file : //'과 target = '_ blank'로 웹 링크를 수정했습니다. WKWebView에 문제가 있습니다. 그러나이 문제를 해결할 수있는 몇 가지 플러그인이 있습니다.
파일 프로토콜 문제를 해결 하는 cordova-plugin-wkwebview-file-xhr 및 cordova-plugin-wkwebviewxhrfix 플러그인을 설치해보십시오 .