Как поставить в iframe с contentEditable=on

Quessir

Новичок
Как поставить в iframe с contentEditable=on

Никак не получается в FireFox поставить фокус в iframe. Вот код

if (Prototype.Browser.IE || Prototype.Browser.Opera) {
$("wysiwyg" + this.textareaID).contentWindow.body.contentEditable = true;
$("wysiwyg" + this.textareaID).contentWindow.focus();
} else {
$("wysiwyg" + this.textareaID).contentWindow.document.designMode = "on";
$("wysiwyg" + this.textareaID).contentWindow.focus();
}

Как проставить focus() для ff? Пробовал через массив frames - никак.
 

kruglov

Новичок
PHP:
<iframe id=wysiwyg src=canvas.html></iframe>
<script>
onload=function(){
	document.getElementById("wysiwyg").contentWindow.document.designMode = 'On';
	document.getElementById("wysiwyg").contentWindow.focus();
}
</script>
прекрасно фокусит и в эксплорере, и в мозилле, и даже в сафари. В опере не фокусит (хотя редактирование включает), но тут я не удивлен.

p.s. Вообще, designMode и в опере с эксплорером работают. По крайней в версиях этого века.
 

Quessir

Новичок
У меня не фокусит. Я загружаю iframe в документ через insertAdjacentHTML. Затем уже ставлю в него фокус.
 

kruglov

Новичок
ну, может, он не успевает... пробовали сначала записать контент, потом, через секунду, к примеру, поставить фокус?
 

telega-ru

Новичок
Автор оригинала: kruglov
ну, может, он не успевает... пробовали сначала записать контент, потом, через секунду, к примеру, поставить фокус?
В firefox 2.x работает setTimeout("$('body').contentWindow.focus()", 0);
В firefox 3.x не работает. Т.е. текст в iframe набирать можно, но курсор почему-то не появляется.

P.S. это проверялось в моем firefox extension'е, может в html и по-другому будет
 

Quessir

Новичок
Оказывается у меня и без таймаута работает. Но, фокуса по-любому нет. Он появляется только после нажатия клавиши "вверх" или "вниз". Че за прикол?
 

dark-demon

d(^-^)b
в ff3 много чего ещё не работает :)

для лисицы и сафари требуется задержка порядка четверти секунды.
для оперы - нужно опустить contentWindow;

designMode у меня в ИЕ не работает

-~{}~ 20.09.07 20:11:

это всё верно для динамически созданных ифреймов...
 
Сверху