Estoy usando TinyMCE como un editor wyswyg, y estoy tratando de hacer que siempre agregue un atributo de espacio aislado a cada iframe que encuentre, y lo restablezca a un valor específico, por ejemplo, "permitir scripts, permitir el mismo origen".
Lo he intentado agregando a valid_elements:
"iframe[nombre|src|srcdoc|seamless<seamless|ancho|alto|sandbox:allow-scripts allow-mismo-origen]"
Pero no funciona; además
"iframe[nombre|src|srcdoc|sin fisuras<sin fisuras|ancho|alto|sandbox:permitir-scripts]"
no parece funcionar; he probado con
"iframe[nombre|src|srcdoc|sin fisuras<sin fisuras|ancho|alto|sandbox:]"
que agrega correctamente el atributo sandbox si falta, pero NO reemplaza su valor con el vacío si el atributo ya está presente, como esperaba ...
¿Qué estoy haciendo mal?
¡Gracias!
Puede intentar agregar un filtro de nodo . La función de configuración como esta debería hacer el trabajo:
setup: function(editor) { editor.on('PreInit', function() { editor.parser.addNodeFilter('iframe', function(nodes) { nodes.forEach(function(node) { node.attr('sandbox', 'allow-scripts allow-same-origin'); }); }); }); }Obtendrá cada iframe durante el análisis y forzará que el atributo de sandbox relevante sea lo que desea.
PS usar los atributos allow-scripts y allow-same-origin no es una práctica recomendada (vea la nota debajo de las descripciones de los atributos).