以下注入在Chrome中完美運行,但是在最新的Firefox(版本21)中,文檔始終保持「連接...」狀態,甚至連其元素像<img>
加載。 (但如果你點擊重新加載他們,他們表現出了罰款...)注入來自Greasemonkey腳本的document.write調用不會導致任何事情加載
截圖:
腳本:
// ==UserScript==
// @name Test
// @namespace Test
// @author Owyn
// @match http://*
// ==/UserScript==
function inject(func) {
var source = func.toString();
var script = document.createElement('script');
script.innerHTML = "("+ source +")()";
document.body.appendChild(script);
}
function myf() {
document.write('<html>TEST</html>');
}
inject(myf);
任何修復,任何變通辦法?我應該聯繫Mozilla瞭解錯誤嗎?
P.S. - 我使用document.write去除了所有事件監聽器(我不知道),但沒有找到替代方案。
事件負載似乎可以解決它,但現在它等待一切可能會浪費很長時間,所以沒有辦法像Chrome一樣修復它的工作方式嗎? (頁面剛剛打開,document.write立即運行而沒有凍結連接...) – Owyn
是的,使用DOM方法。這在兩個瀏覽器中都有效,並且不需要等待'load'事件。 –
什麼DOM方法? FireFox中的DOMContentLoaded破壞頁面以無限加載並破壞圖像? – Owyn