¿Cómo mostrar cualquier contenido HTML con ng-bind-html y $sce? – javascript angularjs json

Pregunta:


El contenido HTML de mi página está compuesto por archivos JSON, todas las etiquetas se muestran correctamente, como las <h1>, <p>, <img>, etc… Pero etiquetas como <iframe>, <video>, audio, etc… No se muestran, eh investigado en la página de AngularJS y con el servicio $sce se puede resolver, dice por ejemplo que con $sce.RESOURCE_URL se muestran correctamente dichas etiquetas. El problema es que no se cómo implementarlo, le agradecería mucho a quien pudiera darme un ejemplo que tenga todo lo necesario para que se muestre cualquier contenido HTML correctamente y no tener que preocuparme si alguna etiqueta se va a mostrar o no correctamente.

Este es un ejemplo de la página de AngularJS, pero no dice cómo implementar el $sce.RESOURCE_URL, estuve leyendo pero no entiendo muy bien.

app.controller('AppController', ['$http', '$templateCache', '$sce',
  function AppController($http, $templateCache, $sce) {
    var self = this;
    $http.get('test_data.json', {cache: $templateCache}).success(function(userComments) {
      self.userComments = userComments;
    });
  }]);
Preguntado por: adrianojosue

Guz

Puedes identificar un código HTML con dichas etiquetas como “seguro” explicitamente usando $sce.trustAsHtml. Sería más sencillo implementar un filtro para ello.

const html = {
  "iframe": "<iframe src='http://thehackernews.com' width='500' height='300'></iframe>"
}

angular.module('app', [])
  .filter('bypass', ['$sce', ($sce) => {
    return function(html) {
      return $sce.trustAsHtml(html);
    };
  }])
  .controller('htmlController', ['$scope', ($scope) => {
      $scope.page = html.iframe;
  }]);
<!DOCTYPE html>
<html ng-app="app">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body ng-controller="htmlController">

 <div ng-bind-html="page | bypass"></div>

  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
</body>
</html>

Fuente

Related Posts:

¿Cómo obtener la respuesta de una llamada asíncrona (AJAX) fuera de ella? – javascript jquery asincrónico
Pregunta: Actualmente tengo esta función: function devuelveButaca(posicion){ var array = posicion.split('_'); var row = array; var column ...
Evitar múltiples toggle con misma clase – javascript
Pregunta: Para un evento toggle con puro javascript lo desarrollo de la siguiente forma: Javascript // Esta clase lo expande. const expandButton = document.querySelector('.expand-button'); expandButton.addEventListener('click', ()=> { ...
Validación de datos nulos en una función – javascript
Pregunta: Tengo la siguiente función pero al momento validar todos mis datos me los registra todos a excepción del los "containers" que son grids y ...
Como poner una imagen de fondo a pantalla completa – javascript jquery html5
Pregunta: Como puedo hacer que la imagen abarque todo el tamaño de la pantalla. Se que de las propiedad min-width y min-heigth pero ellas no ...
Error de: Uncaught TypeError: url.indexOf is not a function por Jquery – javascript jquery
Pregunta: En el navegador, reviso en inspeccionar elemento, y me sale el siguiente error: Uncaught TypeError: url.indexOf is not a function Me imagino que es ...
Como validar array checkbox – javascript php jquery
Pregunta: Que tal buen dia, alguien me podria decir como se puede hacer para que cuando presione el boton "BAJAR DATOS" si este esta vacio ...
Uso de js y c# en unity. ¿Igual rendimiento? – javascript c# unity3d
Pregunta: Estoy comenzando con unity . Y veo que se pueden usar c# y js para programar. Mi pregunta es si tanto c# como js ...
Como cambiar una propiedad html dependiendo del valor de un perfil recogido de clase java – javascript jquery html
Pregunta: Tengo una caja de texto en la que me gustaría poder escribir o no dependiendo del perfil que utilice la aplicación. Esta caja de ...
Problemas con petición ajax en angularjs – angularjs json
Pregunta: Hola estoy en un proyecto y necesito mostrar los datos consumidos en la vista final. Lo estoy haciendo es mediante POST de la siguiente ...
Agregar marcador especifico a una localización Google Maps – javascript google-maps
Pregunta: ¿Cómo podría añadir un marcador personalizado en Google maps? Actualmente el código que tengo es el siguiente: var locations = [ ['Bondi Beach', -33.890542, ...
Usar variable en otra función con javascript – javascript html app
Pregunta: Primero que todo voy a dejar un enlace donde pueden ver el ejemplo funcionando de manera completa. Enlace a la pagina AQUI El valor elegido en ...
Ocultar y Mostrar con Mapa de Google – javascript c# asp.net
Pregunta: Tengo un div en mi página ASP.NET que contiene un Mapa de Google, y necesito mostrarlo y ocultarlo pero no me funciona. Este es el ...
Copiar valor a un input que esta dentro de un footer de un datatable – javascript jquery datatables
Pregunta: Estoy usando los DataTables de jQuery y me estoy encontrando con el siguiente problema: cuando pulso en un botón necesito pasarle un valor con ...
¿Cómo rellenar cada circulo al pasar el mouse encima? – javascript jquery html
Pregunta: ¡Hola! Estoy practicando jQuery, y me gustaría poder hacer como un ranking. A lo que quiero llegar es que cada vez que el mouse ...
convertir array a Map en javascript – javascript map nodejs
Pregunta: quiero convertir un arreglo a Map(), en este console "console.log(arrayParaMap);" sale undefined el ejemplo que uso es este //example {a:1,a:2,a:1,b:1,b:5,b:6} el map que prentendo obtener es ...

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *