2011-06-01 276 views
0

我正在解決一個Java腳本巫婆創建一個網頁。它使用這個序列:如何更改document.createElement的值?

aTD=document.createElement("TH"); 
header.appendChild(aTD); 

的問題是,在劇本的一些點,這正好爲:

aTD=document.createElement("<TH>"); 
aTD.appendChild(document.createTextNode(a4Phrase.TOTAL)); 
header.appendChild(aTD) 

在IE瀏覽器,這不是一個問題。但在Firefox中,頁面創建在此時失敗,因此僅顯示頁面的一半。我在最後幾天試圖找出一個解決方案,但沒有成功。因此,這裏是我的問題:

我怎樣才能改變(使用Greasemonkey的

aTD=document.createElement("<TH>"); 

aTD=document.createElement("TH"); 

+0

驗證這是不是你的網頁,並且你只是希望用的Greasemonkey讓頁面在Firefox中工作。請注意,根據頁面,這可能不是Greasemonkey可以輕鬆做到的事情。提供一個指向目標頁面或pastebin.com源的鏈接。 – 2011-06-01 08:12:51

+0

這不是我的網頁,但「錯誤」出現在辦公室使用的一個網絡收費(不可從外部獲得)。它目前僅適用於IE瀏覽器 – catalel 2011-06-01 14:10:54

+0

您可以粘貼源代碼,我們可以看到GM是否可以提供幫助。一般來說,GM可以覆蓋頁面的JS - 但只在大部分頁面加載後(通常太晚)。有一些混亂(在SO搜索),但最好的方法取決於細節。 – 2011-06-01 14:15:41

回答

1

它看起來像一個骯髒的黑客,我想你的問題可以用另一種更準確的方式解決。但是你可以代理document.createElement方法:

var ce = document.createElement; 
document.createElement = function(el){ 
    if (el === '< TH>') { 
     el = 'TH'; 
    } 
    return ce.call(document, el); 
}; 

var aTD=document.createElement("< TH>"); 
aTD; 
+0

如果這確實是一個Greasemonkey應用程序,那麼這個代碼將不起作用。即使對GM進行了正確的修改,代碼也可能無法及時啓動。 OP需要澄清和指定。 – 2011-06-01 08:08:46

+0

看來這個腳本對Greasemonkey沒有效果。謝謝 – catalel 2011-06-01 09:01:34