Estoy tratando de usar Angular con una lista de aplicaciones, y cada una es un enlace para ver una aplicación con más detalle ( apps/app.id):
<a id="{{app.id}}" href="apps/{{app.id}}" >{{app.name}}</a>
Cada vez que hago clic en uno de estos enlaces, Chrome muestra la URL como
unsafe:chrome-extension://kpbipnfncdpgejhmdneaagc.../apps/app.id
¿De dónde unsafe:viene el?

ng-hrefen este caso en lugar de solohref: docs.angularjs.org/api/ng/directive/ngHreffunction gotoURL(url) { $window.location.href = url; }Respuestas:
Debe agregar explícitamente protocolos de URL a la lista blanca de Angular utilizando una expresión regular. Sólo
http,https,ftpymailtoestán habilitados de forma predeterminada. Angular agregará un prefijo a una URL que no esté en la lista blancaunsafe:cuando use un protocolo comochrome-extension:.Un buen lugar para
chrome-extension:incluir en la lista blanca el protocolo sería en el bloque de configuración de su módulo:El mismo procedimiento también se aplica cuando necesita usar protocolos como
file:ytel:.Consulte la documentación de la API AngularJS $ compileProvider para obtener más información.
fuente
$compileProvider.aHrefSanitizationWhitelist/^\s*(https?|ftp|file):|data:image\//, para acceder al sistema de archivos local para una aplicación empaquetada de Chrome,|filesystem:chrome-extension:debe agregarse al final de la expresión regular.|blob:chrome-extension:al final.$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|file|blob|ftp|mailto|chrome-extension):/);En caso de que alguien tenga este problema con las imágenes, también:
fuente
Si solo necesita correo, tel y sms use esto:
fuente
Google Chrome requiere sus extensiones para cooperar
Content Security Policy (CSP).Debe modificar su extensión para cumplir con los requisitos de
CSP.https://developer.chrome.com/extensions/contentSecurityPolicy.html
https://developer.mozilla.org/en-US/docs/Security/CSP
Además, angularJS tiene una
ngCspdirectiva que debe usar.http://docs.angularjs.org/api/ng.directive:ngCsp
fuente
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'",¿Necesito cambiar la csp en el manifiesto?fuente
Para
Angular 2+que pueda utilizarDomSanitizerelbypassSecurityTrustResourceUrlmétodo.fuente