我有一些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