Как установить document.domain для динамично сгенерированного IFRAME?

Я реализую CodeMirror (http://marijn.haverbeke.nl/codemirror/) на странице, где document.domain должен быть объявлен (из-за другого IFRAMES на странице).

CodeMirror генерирует динамический IFRAME для обеспечения, синтаксис выделил редактирование кода. Проблема состоит в том, что IE подбрасывает 'Доступ запрещен' (другие браузеры прекрасны) в следующей части кода зеркала кода:

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

Оказывается, что IE не наследовал document.domain от родительского IE. Я могу установить document.domain в содержании IFRAME, но IE подбрасывает ошибку, прежде чем я смогу даже установить содержание. Какие-либо идеи, как заняться этой проблемой?

5
задан Paras Chopra 21 March 2010 в 11:38
поделиться

1 ответ

Наконец-то все заработало. Взлом, вдохновленный кодом 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;

Устанавливает document.domain в SRC, а не в DOM.

9
ответ дан 14 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: