FF中关于document.write()的BUG

yugong2009 2010-01-11 04:10:49

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>document.writeln in firefox</title>
<script type="text/javascript"language="javascript">
var strFrame;
document.writeln('<iframe id="meizzDateLayer" name="meizzDateLayer" frameborder=0 style="position: absolute; width: 144; height: 260; z-index: 9998;"></iframe>');
strFrame = "<div>asdfsaf</div>"

window.frames.meizzDateLayer.document.writeln(strFrame);

</script>
</head>

<body>

</body>
</html>

此代码在IE下能正常运行,但在FF下,总是报错window.frames.meizzDateLayer is undefined
似乎iframe没有成功写入
我测试过在FF下用document.writeln("<div></div>")都是可以的写入的,请大侠指点!
...全文
524 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yugong2009 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 blackparadise 的回复:]
这种应该会有加载顺序上的问题
把这个写到iframe的onload事件里吧
[/Quote]

确实就是这个问题,我刚才有FireBug断点调了下,执行到window.frames.meizzDateLayer.document.writeln(strFrame);
时,HTML中是空的,即iframe对象还没有成功载入
blackparadise 2010-01-11
  • 打赏
  • 举报
回复
这种应该会有加载顺序上的问题
把这个写到iframe的onload事件里吧
2010-01-11
  • 打赏
  • 举报
回复
write 的时候document还没加载

把<script>块放到body中
或者window.frames.meizzDateLayer.document.writeln(strFrame);放到window.onload函数里
草根醉秋意 2010-01-11
  • 打赏
  • 举报
回复
document.getElementById("meizzDateLayer").contentWindow.onload = function(){
document.getElementById("meizzDateLayer").contentDocument.write("test");
}
happy002 2010-01-11
  • 打赏
  • 举报
回复
会不会是没加载完?或者执行顺序问题?
你把window.frames.meizzDateLayer.document.writeln(strFrame)放在一个函数里,在页面上放一个按钮调用试试,看还报不报这个错误。或者在上面加个alert(),
yugong2009 2010-01-11
  • 打赏
  • 举报
回复
我刚才用FireBug查看了下,iframe已经写到了document中,
那会不会是加载的顺序问题呢——在iframe对象还没加载完,就开始执行下面的语句?
yugong2009 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 free_wind22 的回复:]
JScript code
document.getElementById("meizzDateLayer").contentWindow.document.writeln(strFrame);
[/Quote]

这样,会报document.getElementById("meizzDateLayer") is null
是不是iframe根本就不存在呀?
yugong2009 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happy002 的回复:]
ff下用
window.frames['meizzDateLayer']
试试
[/Quote]
试过,还是报同样的错!
2010-01-11
  • 打赏
  • 举报
回复

document.getElementById("meizzDateLayer").contentWindow.document.writeln(strFrame);

happy002 2010-01-11
  • 打赏
  • 举报
回复
ff下用
window.frames['meizzDateLayer']
试试
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 泛微OA e-cology 8 版本的最新webservice接口文档概述 泛微OA e-cology 8 版本的最新webservice接口文档包含了一系列webservice接口,这些接口可用于对系统内的文档执行多种操作,例如文档的建立、移除、变更以及检索等。通过webservice进行调用,这些接口能够支持对文档进行有效的管理和操作。 文档webservice接口的配置 安装并应用文档webservice接口前,必须先将其配置到服务器环境。配置阶段需要在services.xml文档内嵌入相应的配置代码,涵盖服务标识、命名空间、服务类别、实现类别等关键信息。配置完成后,应重新启动相关服务,确保新设置得以生效。用户可通过浏览器输入webservice接口的路径地址,验证部署操作是否顺利完成。 文档webservice接口的功能集 文档webservice接口提供了多种功能方法,旨在实现对文档的多样化操作。这些方法具体包括: * login:执行用户登录验证,并输出登录会话代码 * createDoc:依据提供的文档数据结构创建新文档 * updateDoc:依据文档数据结构对现有文档进行修改 * deleteDoc:根据文档的唯一标识符删除特定文档 * getDoc:检索文档数据结构,依据文档的唯一标识符获取文档信息 * getDocCount:统计并返回用户具备访问权限的文档总数 * getList:检索并返回用户具备访问权限的文档数据结构集合 文档对象 文档对象构成了文档webservice接口的核心部分,其封装了文档的全部相关数据。文档对象的属性集包含: * 文...

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧