2017-11-06 4 views
3

Cordova 및 jQuery Mobile을 사용하여 모바일 앱을 개발 중입니다. 내 응용 프로그램은 iOS 11.0.3에서 제대로 작동했으며 iOS 11.1이 나왔을 때 오류가 발생하여 링크를 클릭 할 수 없었습니다. Safari 오류 콘솔에서 나타나는 오류는 "SecurityError (DOM Exception 18) : 세션 기록 URL을 변경하기 위해 history.replaceState() 사용을 차단했습니다."입니다. <meta http-equiv="Content-Security-Policy" content="default-src * data: blob: ws: wss: gap://ready file://*; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src * ws: wss:;">을 추가했는데 내용 보안 정책에 포함되어 있다고 생각했기 때문에 동일한 오류가 발생했습니다. jQuery Mobile 1.4.5 및 jQuery 2.1.1을 사용하고 있습니다.IOS 11.1 SecurityError (DOM Exception 18) : 세션 기록을 변경하기 위해 history.replaceState() 사용을 차단했습니다. URL

+0

(메신저 경로 또는 주 공급자를 사용하지으로)

비활성화 HTML5 모드는 날 위해 일했습니다. 우리의 응용 프로그램은 11.1이 도입 된 후에 작동을 멈췄습니다. 이 게시물을 읽기 전에 설명한 메타 태그를 추가했지만 문제가 해결되지 않았습니다. – 12Bo

답변

1

angular.js 파일에서 다음 값을 업데이트하십시오.

OLD VALUE :

this.$$absUrl = appBaseNoFile + this.$$url.substr(1); 

NEW VALUE :

this.$$absUrl = appBaseNoFile + this.$$url; 

ios11이이 때문에 오류가 있습니다 : 나는 정확히 같은 문제가 file:/// != file://

+0

AngularJS를 사용하지 않습니다. 나는 이것을 위해 jQuery Mobile을 사용하고있다. 내가 사용할 수있는 다른 제안이 있니? –

+0

코어 각도를 수정하여이 문제를 해결하는 것보다 나은 해결책이 있습니까? – 12Bo

0

. 우리는 코르도바를 사용하여 각도 1.7 응용 프로그램에서 같은 문제가 발생

+0

html5 모드를 어떻게 비활성화 하시겠습니까? –

+0

angular.js에서만 작동하므로 잘 작동하지 않을 것 같습니다. – Krzysiu