我有一些userscripts使用document.write()的不userscript工作与Firefox
var tab = window.open('', '_blank');
tab.document.write(myCustomHtml);
tab.document.close();
显示输出给用户(myCustomHtml是我以前在代码中定义了一些有效的HTML)。它从27版开始在Firefox中工作,现在我只能得到一个空文档。没有任何控制台错误。
当与Firefox”控制台
<html>
<head></head>
<body>
</body>
</html>
而源代码是空的检查的新打开的文档仅有此内容。
该代码在Chrome中运行。
我是否需要对较新的Firefox版本(27+)和更新的Greasemonkey(1.15)进行任何修改?我还没有发现任何近期向Firefox报告的有关此问题的错误。
这是一个测试脚本
// ==UserScript==
// @name document.write() test
// @namespace stackoverflow.com
// @description tests document.write()
// @include https://stackoverflow.com/questions/22651334/*
// @include http://stackoverflow.com/questions/22651334/*
// @version 0.0.1
// ==/UserScript==
var tab = window.open('', '_blank');
tab.document.write('<html><head></head><body><ul><li>a</li><li>b</li><li>c</li></ul></body></html>');
tab.document.close();
'document.write()的'可以在渲染过程中有各种各样的不良影响。最好将你的元素直接添加到DOM。 – 2014-03-26 04:16:20
我知道这是一个讨厌的功能,我意识到风险,但它让我省了很多线。我宁愿保留它,考虑到我从一个空白文档开始,使用“离线”数据和一个非常简单的布局。 – berbt
我有一个简单的HTML标记'“
- 一个
- b
- Ç
”'测试你的脚本在Firefox 28和工作对我来说,也许这是一些涉及到HTML你”重新尝试使用....等一下你的greasemonkey中的配置?:我已经在纯html网页上测试过了。 – Allende