我在dashcode中为safari启动了一个新的自定义模板(“此模板创建了一个空白的Web应用程序,可以自定义。”)。它会自动生成main.js中的函数加载,该函数从index.html中的正文调用:
function load() {
dashcode.setupParts();
}
我在函数之后添加了一些JS代码,当我运行时,它似乎作为HEAD的一部分执行。我还在index.html的主体中添加了一个onclick事件:
<body onload="load()";>
<input type="button" onclick="sayHello()" value="Say Hello" />
</body>
我跑的时候也拿到了按钮。
每当我向函数load添加一个document.write调用时(在显示按钮之前它应该只在加载时执行)我运行时不会生成任何其他内容。换句话说,只要负载变为:
function load() {
dashcode.setupParts();
document.write("LOADING");
}
我在函数显示后添加的javascript都没有。此外,我在身体中添加的onclick按钮也没有出现。
有人对此行为有解释吗?
答案 0 :(得分:0)
在页面加载后调用document.write()
将覆盖当前页面 - javascript,html,所有内容 - 这就是为什么它一般都是如此皱眉。查看DOM方法或innerHTML
操作替代方案。