2017-12-19 4 views
3

js 쿠키를 사용하는 웹 앱을 구축 중입니다.iS 기기가 아닌 Android에서 작동하는 js 쿠키 라이브러리

<script src="https://cdnjs.cloudflare.com/ajax/libs/jscookie/2.1.4/js.cookie.js"></script> 

내 JS-쿠키 코드는 안드로이드 기기와 완벽하게 작동 : 나는/자바 스크립트 파일 내 HTML에 JS-쿠키 라이브러리를 가져 오려면 다음을 사용 쿠키가 생성되고 예상대로, 검색됩니다. 그러나 iOS 기기 (iPhone)에서 실행될 때 동일한 코드가 쿠키를 쓰거나 읽지 못합니다. 브라우저는 중요하지 않습니다. iOS 용 Safari, Chrome 및 Firefox의 최신 버전을 테스트했습니다.

쿠키는 iOS 기기에서 읽으려고 할 때 정의되지 않은 상태로 되돌아옵니다.

//Set expiration cookie... 
    nowDate = new Date(); 
    expiresDate = new Date(nowDate.getTime() + (120 * 120000)); 
    //cookie expires in 4 hours 
    Cookies.set('expires', expiresDate, { expires: expiresDate }); 

이러한 쿠키를 읽을 수있는 후속 시도가 아니라 iOS 기기에 안드로이드 장치에 완벽하게 작동 : 여기 쿠키를 작성하는 데 사용할 코드 예제이다. 쿠키를 읽는 데 사용하는 코드 예는 다음과 같습니다.

expiresCookie = Cookies.get('expires'); //get expiresCookie 

무엇이 잘못 되었나요?

답변

2

iOs에서 사용하는 브라우저는 항상 사파리 엔진이기 때문에 아무런 영향을 미치지 않습니다. iOs에서 크롬, 파이어 폭스 등은 사파리 웹 뷰를 둘러싼 프레임에 불과합니다. 프로 팁 용입니다.

이제 문제가 생겼습니다. 고전적인 쿠키 API에 액세스 할 수 있습니까? 이 작업을 사용하여 수행 할 수 있습니다

document.cookie 

아니, 당신은 매우 큰 문제가있는 경우. 어쩌면 이미 iOS 11로 이전하고 더 쿠키없는 정책에 포함될 수 있습니다. http://adage.com/article/digitalnext/ios-11-kill-cookie/311444/ 또는 광고 차단/차단 안함 기능을 사용하도록 설정했을 수 있습니다.

+0

@SpeedGolfer, 이것이 문제가되는지 확인해 주시겠습니까? –

+0

@FagnerBrack : 이것이 문제인지 확인할 수 있는지 알려 드리겠습니다. 현재로서는 iOS에 더욱 친숙한 대안으로 localStorage를 사용하고 있습니다. – SpeedGolfer

+0

네, 더 친근하고 신뢰할 수 있습니다. 유럽 ​​방문객의 경우 localstorage는 쿠키 및 개인 정보 보호에 관한 큰 법률에 대해 우려하지 않습니다. – MathKimRobin

0

먼저 스크립트에 링크하는 데 문제가 있다고 생각합니다. 만약 당신이 안드로이드에 대한 첫 번째 테스트를했다면 당신의 장치는 여전히이 파일을 캐시에 보관할 것입니다. http가 아닌 (http://domain/file.html을) : (///.../file.html 파일) 귀하의 URL이 파일 위치에없는 것이 확인 https://cdnjs.cloudflare.com/ajax/libs/js-cookie/latest/js.cookie.js

다음 :

는 최신 버전을 가진이 URL로 시도 . 도메인이없고 http 통신이없는 경우 브라우저는 쿠키를 저장하지 않습니다.

관련 문제