2017-09-04 6 views
1

다음의로드되지 로컬 HTML을 얻을하려고 할 때 나는 CSP- 점점 프리 플라이트 문제 : ///의 코르도바 응용 프로그램

<meta http-equiv="Content-Security-Policy" content="default-src * gap: file:; style-src 'self' 'unsafe-inline'; img-src 'self' data:; script-src * 'unsafe-inline' 'unsafe-eval' ws: wss:;"> 

이 메타 태그를 사용하고 있습니다. 콘솔에서도 오류가 표시됩니다. (백본을 사용하여) 로컬 HTML를 얻기 위해이 코드를 사용하여

[Error] Failed to load resource: Preflight response is not successful (login.html, line 0) 
[Error] XMLHttpRequest cannot load file:///Users/.../Library/Developer/CoreSimulator/Devices/.../data/Containers/Bundle/Application/.../test.app/www/templates/login.html. Preflight response is not successful 
    success (backbone.js:487) 
    l (jquery-2.0.2.min.js:5:24887) 
    fireWith (jquery-2.0.2.min.js:5:25704) 
    k (jquery-2.0.2.min.js:7:4931) 
    (anonymous function) (jquery-2.0.2.min.js:7:8725) 

-

$.get('./templates/login.html', function(data) { 
    template = _.template(data); 
    _this.$el.append(template); 
}); 

것은 위의 코드 업데이트가 제대로 작동되기 전에. iOS와 Cordova를 최신으로 업데이트하면이 문제가 발생합니다.

제안 사항?

+0

WKWebView 플러그인을 사용하고 있습니까? – connor

+0

예 - cordova-plugin-wkwebview-engine 1.1.3 – San007

답변

1

이것은 file : // URL에 대한 XHR 요청이 허용되지 않는 WKWebView 플러그인의 제한 때문에 발생할 수 있습니다. CB-10143

이 문제를 해결하는 한 가지 방법은 local-webserver plugin을 사용하고 대신 http urls를 사용하는 것입니다.

+0

빠른 응답을 위해 @cornor에게 감사드립니다. 제안을 구현할 예정이며 한 번 답변을 수락 할 것입니다. – San007

1

ionic 팀에서 개발 한 플러그인 fork을 사용해 볼 수 있습니다. 나는 당신이 이온을 사용하고 있지 않다는 것을 알고 있지만 은 순수한 코도 바 앱으로 작동해야하며, 플러그인에는 이오닉 특정 코드가 없습니다. 플러그인 버전은 로컬 웹 서버를 사용하여 XHR 요청과 관련된 기존 문제를 해결합니다.