IP 전화와 통신하는 Chrome 확장 프로그램을 개발했습니다.Chrome 확장 프로그램이 브라우저를 다시 시작한 후 요청한 권한을 잃었습니다.
XMLHttpRequest
개체를 통해 POST 요청을 보내는 이벤트 페이지에서 통신이 이루어집니다.
옵션 페이지에서 휴대 전화의 호스트 이름이나 IP 주소를 구성 했으므로 chrome.permissions.request
과 함께 옵션을 저장 한 후 매니페스트 파일에 optional_permissions
을 추가하고 사용자에게 요청하십시오. 내가 크롬을 다시 시작할 때까지 간 원산지 XHR은 아무 문제없이 지금 작동
...
크롬을 다시 시작한 후 요청 된 권한을 잃은 것처럼 보인다 나는 전형적인 is not allowed by Access-Control-Allow-Origin
오류가 발생합니다.
확장 프로그램 권한을 클릭하면 요청한 권한이 더 이상 표시되지 않습니다.
chrome.permissions.request
은 사용자 동작을 위해서만 작동하기 때문에 내 확장 프로그램이로드되는 동안 또는 즉시로드를 요청할 수 없습니다. 옵션 페이지에서 권한을 다시 요청하면 다시 허용하지 않겠 냐고 물어 보지 않고 허가를 받으면 모든 것이 정상적으로 작동합니다.
요청한 후에이 권한을 영구적으로 부여 할 수있는 방법이 있습니까? 확장 프로그램에서 필요로하는 끝점에 대한 액세스 권한 만 갖기를 원합니다.
대단히 감사합니다.
소리가 버그와 같습니다. Chrome의 선택적 권한 API에 문제가 아직 없었습니다. 다른 곳에서는 권한을 취소하지 않았습니까? –
나는 어떻게 내가 그것을 취소 했을까를 생각할 수 없다. 지금까지'chrome.permissions.remove'에 대한 호출이 없습니다. 내 매니페스트 파일의 줄은 다음과 같습니다 :''optional_permissions ': [ "* : // */CGI/Execute"]'그리고 내 요청은 다음과 같습니다 :'chrome.permissions.request ({origins : ['http : // '+ phoneAdress +'/ CGI/Execute ']}, ...' – Chris
선언 된 선택적 권한의 서브 세트 대신'* : // */CGI/Execute'를 요청하면 문제가 해결 된 것 같습니다. . –