Frage

Ich bin der Umsetzung Codemirror ( http://marijn.haverbeke.nl/codemirror/ ) auf einer Seite, wo document.domain Bedürfnisse erklärt werden (wegen anderer IFRAMES auf der Seite).

Codemirror erzeugt eine dynamische IFRAME Syntax hervorgehoben Code-Bearbeitung zur Verfügung zu stellen. Das Problem ist, dass IE wirft ‚Zugriff verweigert‘ (anderer Browser ist in Ordnung) an dem folgenden Codespiegel Code:

this.win = frame.contentWindow;
...
var doc = this.win.document; <-- ERROR
doc.open();
doc.write(html.join(""));
doc.close();

Es stellt sich heraus IE erbt nicht von den Eltern IE document.domain. Ich kann in dem IFRAME Inhalt gesetzt document.domain aber IE den Fehler wirft, bevor ich auch den Inhalt festlegen. Irgendwelche Ideen, wie dieses Problem lösen?

War es hilfreich?

Lösung

es zur Arbeit kam, endlich. Ein Hack inspiriert von TinyMCE-Code.

var u = 'javascript:(function(){document.open();document.domain="' + document.domain + '";var ed = window.parent.CodeMirror_boilerplate;document.write(ed);document.close();})()';

frame.src = u;

Sie setzt die document.domain in SRC und nicht die von DOM.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top