首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opera frames?

Opera frames?
EN

Stack Overflow用户
提问于 2012-03-15 13:46:58
回答 1查看 340关注 0票数 1
代码语言:javascript
复制
<!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没有问题...

EN

回答 1

Stack Overflow用户

发布于 2012-03-15 18:12:29

耶,另一个关于:空白加载计时问题..真的很难做到这一点:http://hsivonen.iki.fi/about-blank/

无论如何,当Opera像这样做一件简单的事情时,从定义上讲,这是Opera中的一个bug。我已经报告了“当框架通过DOM (appendChild和朋友)附加到框架集时,CORE-45144- window.frames集合没有立即更新”,所以它应该在适当的时候被修复。有一个正在进行的维护项目可能会解决这个问题,结果不会在Opera12中出现,但很可能是下一个主要的更新。

如果您需要一个变通方法,只需使用带有较小超时值的setTimeout()来稍微延迟写入新帧的代码。

感谢您引起我的注意:-)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9714598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档