2009-12-19 60 views
4

有沒有辦法用Greasemonkey替換整個網頁?如何用Greasemonkey替換整個頁面?

基本上重定向,但地址欄仍然顯示原始地址。

我想要顯示原始地址,但我想從硬盤加載修改後的網頁,而無需任何人知道。

回答

-2

我能看到的最簡單的方法是刪除主體內容,插入iframe(100%x100%),並將其源設置爲您選擇的路徑。

0

是的,你可以這樣做。這很難取決於源頁面和目標頁面的複雜程度。如果它們都是簡單的html,那將很容易。如果其中一方或另一方有很多花哨的造型和腳本,可能會有點棘手,但它可能會有。

一個簡單的方法可能是創建一個填充整個頁面的iframe?或者,遍歷html的「body」標籤的所有子節點並將其刪除;然後插入iframe,或者將其他頁面的內容作爲innerHTML插入。

4

MH ......這應該改變網頁內容

unsafeWindow.document.documentElement.innerHTML='DEFACED!!!!!!1!!!' 

爲了讓你能依靠GM_xmlhttpRequest()

這裏真正的問題是在的Greasemonkey觸發什麼時候這些內容;那就是:爲時已晚,用戶不會注意到發生了什麼事

我不確定你想要在這裏實現什麼。 它是一個惡作劇,或實驗室用戶訪問計劃?

反正用戶沒有注意到你最終需要做這兩個中的一個:

  1. 羽翼豐滿 Firefox擴展,在加載過程早於GM踢,
  2. 添加一個非透明代理的方式。
+0

在Chrome和Chromium(OSS副本)下添加'@ run-at document-start'到UserScript標頭應該有助於計時。我在firefox下測試過,發現沒有任何改進。 – ZJR 2009-12-19 09:28:37

+1

不需要'unsafeWindow'。 'document.documentElement.innerHTML ='DEFACED !!!!!! 1 !!!''應該可以工作。 – NVI 2010-01-21 20:13:08

+0

無論如何,是的,這個答案不是當前的,因爲*** greasemonkey ***和*** scriptish ***現在支持所有的鉻腳本標題。儘管如此,真正的Firefox擴展更有趣,現在有了Addons Builder SDK和IDE(以前稱爲Jetpack) – ZJR 2012-01-18 23:39:32