RIM JRE 6을 사용하여 Blackberry 응용 프로그램을 만들고 있습니다. 처음으로 BrowserField를 만들면 쿠키가 만들어집니다. 사용자 입력에 따라 특정 순간에 쿠키를 삭제해야합니다. 이렇게하려면 BrowserField를 열고 있는데 BrowserField에 저장된 쿠키를 삭제하려고합니다. 현재, BrowserField 클래스에 명시된 executeScript 메소드를 사용하여 JavaScript를 실행하여 쿠키를 제거하기 위해 RIM API에서 BrowserField에 대한 쿠키를 명시 적으로 삭제하는 방법은 없습니다. javascript는 requestContent 메소드를 실행하기 전에 onUiEngineAttached 메소드에서 실행됩니다. 스크립트 엔진이BrowserField 쿠키 삭제
내가이로 초기화되지 않는 자바 스크립트의 결과입니다 믿지 않는 존재하지 않는 -
가실행할 수 없습니다 스크립트 :하지만이는 IllegalStateException이와 메시지와 함께 충돌 응용 프로그램 결과 기본적으로 BrowserFieldConfig 클래스에서 켜져 있어야하기 때문입니다. 내 자바 스크립트를 올바르게 포맷하고 있는지 확실하지 않습니다. 이것은 내가 사용하고있는 코드입니다.
protected void onUiEngineAttached(boolean attached) { if(attached) { // ... Removed unnecessary code // Retrieve the cookie manager for the embedded browser BrowserFieldCookieManager cookieManager = _browserField.getCookieManager(); if (eraseCookie == true) { String temp = cookieManager.getCookie ("someSite"); while (temp.indexOf ("testCookie") != -1) { _browserField.executeScript("javascript:document.cookie = \"testCookie=; expires=Thu, 01-Jan-70 00:00:01 GMT\""); } } // Requests browser to go to URL with body and header information _browserField.requestContent(_url, _body.getBytes(), _header); } };
아마도 스레드 문제 일 수 있지만이를 해결하는 방법은 확실하지 않습니다. 그래서 어떤 도움을 주셔서 감사합니다.
감사합니다.
도움을 다시 요청하십시오. Eric :). 쿠키를 null로 설정하면 값을 ""로 설정하는 동안 NullPointerException이 throw되어 결과적으로 값의 새 쿠키가 다른 쿠키의 위에 만들어집니다. setCookie (url, "testCookie = 123; expires = Thu, 01-Jan-70 00:00:01 GMT;")로 쿠키 설정하기; 브라우저의 쿠키 상태에는 아무런 영향을주지 않습니다. BrowserFieldConfig는 사전 구성된 쿠키 관리자 만 받아들이는 것처럼 보이기 때문에 사용자 지정 쿠키 관리자를 설정하는 것이 가능한지 잘 모르겠습니다. –