所以基本上我有一个外部 JS 文件,我需要将其托管在其他人的页面上。该JS文件使用document.write在页面上写入HTML。
现在它嵌入了包含 JS 文件的 HTML,但我希望将 HTML 写入页面顶部,就在 <body>
之后。 。
有办法做到这一点吗?考虑到嵌入 JS 文件的人将无法简单地将其放置在 body 标记后面。
最佳答案
如果可以的话,avoid using document.write
。以下是插入脚本并执行的常见方法:
document.addEventListener('DOMContentLoaded', function(){
var s = document.createElement('script');
s.src = "my_script.js";
document.body.appendChild(s);
}, false);
如果您想添加任何其他 HTML,您可以使用 innerHTML
,但有时最好避免使用它,因为它将替换所有元素(并且可能会破坏之前设置的一些事件监听器)。相反,您可以使用 insertAdjacentHTML
。请注意,如果通过此方法添加脚本,则不会执行该脚本:
document.addEventListener('DOMContentLoaded', function(){
var code = '<style>.class{color:red}</style><div class="class">Hello</div>';
document.body.insertAdjacentHTML('afterbegin', code);
}, false);
您可以使用以下选项选择代码附加位置:beforebegin
、afterbegin
、beforeend
或 afterend
.
关于javascript - 有没有办法使用 document.write 但写入正文顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947554/