Cómo establecer document.domain para un IFRAME generado dinámicamente?
-
21-09-2019 - |
Pregunta
Me estoy poniendo en práctica CodeMirror ( http://marijn.haverbeke.nl/codemirror/ ) en una página donde document.domain necesita ser declarada (debido a otros Representado en la página).
CodeMirror genera un IFRAME dinámico para proporcionar la sintaxis resaltada edición de código. El problema es que IE lanza 'Acceso denegado' (otros navegadores están bien) en el siguiente fragmento de código espejo código:
this.win = frame.contentWindow;
...
var doc = this.win.document; <-- ERROR
doc.open();
doc.write(html.join(""));
doc.close();
Resulta IE no hereda de padres document.domain IE. Puedo establecer document.domain en el contenido IFRAME pero IE lanza el error antes incluso de que pueda establecer el contenido. Alguna idea de cómo hacer frente a este problema?
Solución
tengo que trabajar, por fin. Un truco inspirado por código TinyMCE.
var u = 'javascript:(function(){document.open();document.domain="' + document.domain + '";var ed = window.parent.CodeMirror_boilerplate;document.write(ed);document.close();})()';
frame.src = u;
Se establece el document.domain en SRC y no por DOM.