Fai un passo alla volta e vai in "modalita` debug" (=inserisci una serie di alert, che ti aiutano ad individuare dove sta il problema).
Esempio:
codice:
function NOMEFUNZ() {
var str = RegExp("hello","i");
var tabs = gBrowser.mTabContainer.childNodes;
alert(tabs); // dovrebbe dare object, o array
for (var i = tabs.length-1; i >= 0; i--) {
// var docum = gBrowser.getBrowserAtIndex(i).contentDocument.body.innerHTML;
var docum = tabs[i].document.body.innerHTML;
alert(docum.substr(0,20); // inizio della pagina
if (!docum.match(str)) {
gBrowser.removeTab(tabs[i]);
}
}
...
Puoi anche testare cosa ritornano i seguenti oggetti:
tabs[i]
tabs[i].document
tabs[i].document.body
...
se qualcuno ti da` un errore, vuol dire che quella sintassi e` sbagliata.