Javascript 浏览器在document.write上出现错误

Javascript 浏览器在document.write上出现错误,javascript,Javascript,我有多个这样的小部件 var c2409 = "<div class="products">PRODUCT1 PRODUCT2 PRODUCT4 ...</div>"; document.write(c2409) var c2409=“产品1产品2产品4…”; 文件写入(c2409) 我称之为 <script src="website/getjswidget.aspx?cid=xxxx-xxxx-xxx-xxxx"></script> 现

我有多个这样的小部件

var c2409 = "<div class="products">PRODUCT1 PRODUCT2 PRODUCT4 ...</div>";
document.write(c2409)
var c2409=“产品1产品2产品4…”;
文件写入(c2409)
我称之为

<script src="website/getjswidget.aspx?cid=xxxx-xxxx-xxx-xxxx"></script>

现在看起来好像在我清除缓存后的某个时候,这会替换我html中的所有内容,并且我从我的小部件中只得到一个带有这个div的空白页面。 任何其他替代文档的解决方案。写入?

这是设计的

write()方法主要用于测试:如果在HTML文档完全加载后使用,它将删除所有现有的HTML

如果要将数据附加到网页,请使用以下命令:

document.body.innerHTML += 'your HTML code to add'
编辑:如果要在特定元素中显示,可以执行以下操作:

<!-- HTML element -->
<div id="myData"></div>

<!- Javascript code -->
document.getElementById('myData').innerHTML += 'your HTML'

document.getElementById('myData')。innerHTML+=“您的HTML”
编辑2(经过一些搜索):您可以通过使用获取当前脚本元素,然后可能使用在该脚本标记之前创建一个div,将数据放入其中


编辑3:显然
文档。currentScript
在IE中不起作用,但可能会有所帮助。

您能给我们提供更多详细信息吗?它们是什么类型的小部件?它们是干什么用的?我用它从数据库导出html代码中的产品列表,这样我就可以在多个域上使用它了。这不是一个bug。Document.write用于替换所有页面内容。看,从2006年到今年一切正常;)正如@Reeno所指出的那样。当页面完成加载时,执行
document.write
将覆盖整个DOM内容。我需要在脚本后显示此内容,而不是在正文末尾。你看,我现在不能真正添加ID,因为我已经在网站上使用了数千个小部件。@Adrian我编辑了我的答案。不幸的是,
document.write
永远不能百分之百地依赖于你想要用它做什么,但是在我的回答中实现它是一种让html总是在你想要的地方结束的方法。@Adrian看到我的第二次编辑,也许这能帮你找到解决方案?不能使用它,因为我已经在网站上使用了成千上万的小部件。因此,我需要一种方法从同一个脚本修复此问题:(