Cylon project을 기반으로하는 Arduino 코드 편집기로 사용할 크롬 앱을 개발 중입니다. js 스크립트 (이 코드는 output.js
이라고 부르 자)는 전환 된 논리 또는 arduino로 달성하려는 다른 것을 통합하고 browserify를 사용하여 다른 노드 종속성과 함께 컴파일합니다. 그들의 chrome extension example에서 그들은이 스크립트를 정적으로 index.html
에서 참조합니다.크롬 앱의 DOM에 자바 스크립트를 삽입하는 방법
사용자가 arduino에서 작업하도록 임의의 코드를 작성할 수있는 편집기를 개발 중이므로 output.js
의 내용을 동적으로 생성하고 있습니다. 나는 성공적으로 output.js
의 내용을 생성 할 수있는 지점에 도달했으며 그 데이터를 script
태그에 삽입하는 함수를 작성했습니다.
Refused to execute inline script because it violates the following Content Security Policy directive:
"default-src 'self' blob: filesystem: chrome-extension-resource:".
Either the 'unsafe-inline' keyword, a hash ('sha256-Mugizlz7AFKJ2hm6UA9ySY/31cKCVhLaEX9/QYpJIsk='),
or a nonce ('nonce-...') is required to enable inline execution.
Note also that 'script-src' was not explicitly set, so 'default-src' is used as a fallback.
그래서, 나는 잠재적 인 보안 취약점이 될 수 인라인 자바 스크립트를 실행할 필요가 실현 그러나, 구글 크롬에서 오류가 발생합니다. 나는 content scripts이 웹 페이지에 사용자 정의 JS 또는 CSS를 삽입하도록 특별히 설계되었지만 웹 사이트 또는 웹 주소의 컨텍스트에서 작동한다는 것을 알고 있습니다.
DOM을 수정하고 독립형 Chrome 앱에 맞춤 JS를 삽입하고 일부 웹 사이트 또는 탭의 컨텍스트에서 작동하는 Chrome 확장 프로그램을 삽입하고 싶습니다. 내가 주제에 대해 수행 한 연구 결과가 무엇이든 관계없이 콘텐트 스크립트는 크롬 앱의 올바른 개념이 아닙니다. 어떻게하면 크롬 앱을위한 DOM에 자바 스크립트를 삽입 할 수 있을까요? 이 상황에서 가지고있는 콘텐츠 스크립트의 대안은 무엇입니까?
크롬 앱은 [샌드 박스 페이지]를 선언 할 수있다 (https://developer.chrome.com/apps/manifest/sandbox). – wOxxOm
dev에 실행될 JS 파일의 URL을 허용하는 함수를 만든 [github 포럼의 솔루션] (https://github.com/angular/protractor/issues/2579)을 사용해 볼 수 있습니다. 자세한 코드 참조는이 [코드 샘플] (https://gist.github.com/danharper/8364399)에서 확인하십시오. – noogui