2014-12-30 2 views
1

나는 다음과 같은 API를 사용하여 Gmail 페이지에서 원격 JS를 추가하고 때문에 콘텐츠 보안 정책에 파이어 폭스에서 crossrider 확장에 작동하지 않습니다.addRemoteJS API를 내 crossrider 확장에

appAPI.dom.addRemoteJS({ 
    url: "https://myserver.com/JS/myJs.min.js", 
    additionalAttributes: {charset: "UTF-8"}, 
    callback: function(ref) { 

}

는이 작업 확장 코드이었다. Gmail의 컨텐츠 보안 정책으로 인해 코드가 작동하고 파이어 폭스에서 다음과 같은 메시지를주는 중지 : 콘텐츠 보안 정책 : 페이지의 설정이 https://myserver.com/JS/myJs.min.js (스크립트 SRC)에서 자원의 로딩을 차단

는 JS를로드 할 수있는 해결 방법이 있습니까 원격 URL에서.

+0

, [appAPI.dom.addRemoteJS] (http://docs.crossrider.com/#!/api/appAPI.dom- method-addRemoteJS)가 정상적으로 작동합니다. 또한, 귀하의 예제를 기반으로 확장 기능을 만들었으며 Firefix를 실행하는 데 문제가 없었습니다. 도움을 드리기 위해 관련 스크린 샷이나 발생한 페이지의 URL을 포함하여 문제를 재현하기위한 정확한 단계를 알아야합니다. 가능한 경우 확장 ID 및 코드 스 니펫을 찾을 수있는 위치가 실제로 도움이됩니다. [** Disclosure ** : 나는 Crossrider 직원 임] – Shlomo

답변

1

보호 문제는 CSP입니다. 대신 스크립트를 삽입하여 문제를 해결할 수 있습니다.

appAPI.request.get({ 
    url: 'https://myserver.com/JS/myJs.min.js';, 
    onSuccess: function(result) { 
    var s = document.createElement('SCRIPT'); 
    s.type = 'text/javascript'; 
    s.charset = 'UTF-8'; 
    s.text = result; 
    document.head.appendChild(s); 
    } 
}); 

[공개 : 나는 오전 Crossrider 직원] 보통

관련 문제