Опера кадры БАГ? - PullRequest
       9

Опера кадры БАГ?

1 голос
/ 15 марта 2012
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<script>
var G = function (id) {return document.getElementById(id); }
var C = function (tag) {return document.createElement(tag); }

window.onload = function ()
{
var f = C('frame');
f.name = 'my';
f.id = 'my';
f.src = 'about:blank';
G('content').appendChild(f);

alert('test');   

window.frames['my'].document.write('Loading...');
}
</script>

<frameset id="content" rows="100%,*" cols="*" frameborder="no" border="0" framespacing="0">
</frameset>
</html>

оповещение («тест»);// Удалить эту строку, загрузка Opera не удалась.Зачем?IE Firefox Chrome Safari Нет проблем ...

1 Ответ

3 голосов
/ 15 марта 2012

Да, еще один вопрос: проблема с пустой загрузкой .. Это действительно трудно понять правильно: http://hsivonen.iki.fi/about-blank/

В любом случае, когда Opera делает такую ​​простую вещь, отличную от всех остальных, это по определению ошибкав опере.Я сообщил о «CORE-45144 - коллекция window.frames не обновляется сразу, когда FRAME добавляется в FRAMESET через DOM (appendChild и друзья)», поэтому это должно быть исправлено в установленном порядке.Существует продолжающийся проект технического обслуживания, который может решить эту проблему среди прочих, но результаты не будут достигнуты для Opera 12, но вполне вероятно, что следующее крупное обновление.

Если вам нужен обходной путь, просто используйте setTimeout ()с небольшим значением тайм-аута, чтобы немного задержать код, который пишет в новый кадр.

Спасибо, что обратили на это мое внимание: -)

...