Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.03.2009, 23:23
Аспирант
Отправить личное сообщение для underW Посмотреть профиль Найти все сообщения от underW
 
Регистрация: 31.03.2009
Сообщений: 81

скрипт не работает в Opera
<html>
<head>
</head>
<body>
<textarea id="s" ></textarea>
<script>
ti=document.getElementById("s");
di=document.createElement("DIV");
ti.parentNode.insertBefore(di,ti);
di.appendChild(ti);
di.style.border="1px solid blue"
di.style.width=ti.offsetWidth+5+"px"
di.style.height=ti.offsetHeight+5+"px"

fr=document.createElement("IFRAME")
document.body.appendChild(fr)
di.appendChild(fr)
fr.setAttribute('frameborder','no')
fr.setAttribute('src',document.domain)
fr.setAttribute('width',di.offsetWidth+"px")
fr.setAttribute('height',di.offsetHeight)
fr.setAttribute('scrolling','no')
var isIE = /*@cc_on!@*/false;
var FrameDoc = isIE ? fr.contentWindow.document : fr.contentDocument;
FrameDoc.open();
FrameDoc.write('<html><head></head><body>'+ ti.value +'&nbsp;</body></html>');
FrameDoc.close();
FrameDoc.designMode = "on";
ti.style.display='none';

function d1 ()
{
if(fr.getAttribute("height")!=FrameDoc.body.offsetHeight)
{fr.setAttribute("height",FrameDoc.body.offsetHeight+10)
di.style.height=FrameDoc.body.offsetHeight+10}
}

function d2 ()
{
if(fr.getAttribute("height")!=FrameDoc.body.scrollHeight)
{fr.setAttribute("height",FrameDoc.body.scrollHeight+10)
di.style.height=FrameDoc.body.scrollHeight+10}
}

if (FrameDoc.addEventListener)
FrameDoc.addEventListener("keyup", d1, false)
else
    FrameDoc.attachEvent('onkeyup',d2);

</script>
</body>
</html>


вот есть такой скрипт, в FF работает просто отлично, в IE - с горем пополам, а вот в Opera - вообще не хочет работать никак, но почему??? Если работает все в FF, значит все так же должно быть и с Оперой...
Ответить с цитированием
  #2 (permalink)  
Старый 31.03.2009, 23:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от underW
Если работает все в FF, значит все так же должно быть и с Оперой...
В опере баг на баге и багом погоняет, поэтому утверждение неверно.
Ответить с цитированием
  #3 (permalink)  
Старый 01.04.2009, 01:16
Аспирант
Отправить личное сообщение для IIIEPJIOK Посмотреть профиль Найти все сообщения от IIIEPJIOK
 
Регистрация: 23.12.2008
Сообщений: 75

Цитата:
но почему???
А в консоле ошибок, чё-нить пишет?
Ответить с цитированием
  #4 (permalink)  
Старый 01.04.2009, 02:56
Аспирант
Отправить личное сообщение для underW Посмотреть профиль Найти все сообщения от underW
 
Регистрация: 31.03.2009
Сообщений: 81

походу Opera вообще не понимает что такое scrollHeight зачем оно надо и как с ним работать. Если вот даже взять обычную textarea, установить overflow в hidden и начать заполнять текстом, то Opera вообще никак не отлавливает изменение scrollHeight, а вот FF и IE отлавливают только так.

<html>
<head>
</head>
<body>
<br>
<br>
<br>
<textarea style="overflow:hidden"  id="t" onkeyDown="f()" onkeyUp="f()"></textarea>
<br>
<input type="button" value="Click Me" onclick="f1()">
<script>
function f1()
{
alert("offset: "+document.getElementById("t").offsetHeight+" scroll:"+document.getElementById("t").scrollHeight)
}
function f()
{
if(document.getElementById("t").offsetHeight<document.getElementById("t").scrollHeight){document.getElementById("t").style.height=document.getElementById("t").scrollHeight}}
</script>
</body>
</html>

Последний раз редактировалось underW, 01.04.2009 в 02:58.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Работает в IE, не работает в Opera SunYang Общие вопросы Javascript 19 27.02.2009 23:43
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32
Простой скрипт не работает в Firefox'e... Aik Firefox/Mozilla 2 03.02.2009 22:30
Скрипт не работает в Opera, Firefox Faster Events/DOM/Window 2 08.08.2008 18:56