<!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>alert('test');//删除此行,Opera加载不成功。为什么?IE Firefox Chrome Safari没有问题...
发布于 2012-03-15 18:12:29
耶,另一个关于:空白加载计时问题..真的很难做到这一点:http://hsivonen.iki.fi/about-blank/
无论如何,当Opera像这样做一件简单的事情时,从定义上讲,这是Opera中的一个bug。我已经报告了“当框架通过DOM (appendChild和朋友)附加到框架集时,CORE-45144- window.frames集合没有立即更新”,所以它应该在适当的时候被修复。有一个正在进行的维护项目可能会解决这个问题,结果不会在Opera12中出现,但很可能是下一个主要的更新。
如果您需要一个变通方法,只需使用带有较小超时值的setTimeout()来稍微延迟写入新帧的代码。
感谢您引起我的注意:-)
https://stackoverflow.com/questions/9714598
复制相似问题