如何在window.onload中使用document.write

如何在window.onload中使用document.write

问题描述:

我有一段js代码,其中必须用document.write,这段代码要等dom中的某些元素加载完后才能执行。如果把这段代码直接丢html文件代码的最后,那当然没问题。但是我现在希望把这代码放到head里的某个js里面去,用window.onload的话,再用document.write则直接覆盖掉当前页面了。我试了jquery的ready方法,也和onload效果是一样的。请问有什么办法实现这个需求吗?
[b]问题补充:[/b]
你说的办法我当然知道。但是我现在要求的就是[color=red]必须[/color]使用document.write

既然你这么执着,或许可以重写document.write方法——
[code="java"]
window.onload=function()
{
//先保存原来的方法
var oldWrite=document.write;

//重写document.write方法
document.write=function(str)
{
//把str写到某个地方
}

//某段js代码
document.write(xxxxxx);
....
document.write(yyyyyy);

//改回原来的方法,以防有其它程序调用document.write
document.write=oldWrite;

}
[/code]

在header里当然不能用document.write,但是可以吧write的内容拼成字符串,然后把这个字符串赋给某个想要覆盖的html原属的innerHTML属性。