2012-02-15 17 views
1

我已经写了一个bookmarklet,它在关闭body标签之前注入一个外部javascript。document.write不工作在动态加载的javascript

注入脚本包含两行:

document.write(""); 
alert("hello"); 

警报的作品。 document.write不起作用。

什么给?这应该清除页面,但页面保持不变。

+1

你在你的例子写一个空字符串,所以不会有任何效果。 – Headshota 2012-02-15 22:18:09

+0

当我在控制台中执行相同的命令时,它会用空字符串覆盖整个文档,从而清空页面。 – ckarbass 2012-02-15 22:19:58

+1

@ckarbass:加载页面后,'document.write'清除页面,然后写入字符串。 – 2012-02-15 22:20:37

回答

1

如果您需要用空字符串覆盖整个文档。你需要调用document.writewindow.onload处理:

window.onload = function(){ 
    document.write(""); 
} 

当页面渲染document.write只是输出它被称为字符串,但页面加载后替换字符串的文件。

或致电document.body.innerHTML = '';

+1

他正在制作一个在页面加载后执行的书签,所以这不会工作,我承担。 – 2012-02-15 22:23:26

+0

页面已经加载。 – ckarbass 2012-02-15 22:23:51

+0

call document.body.innerHTML ='';而不是 – Headshota 2012-02-15 22:28:19

相关问题