1

У меня проблема с Usercript в chrome. Я уже давно использую версию этого расширения в Greasemonkey, но я не могу понять, как разбирать NodeList в Chrome. Вот код, как в Greasemonkey (обратите внимание, что код на сайте действительно плохо, так что приходится много моего кода:Chrome Userscripts

for each (table in response) { 
     pre = table.getElementsByTagName('pre'); 
     for each (tag in pre) { 
      if (findNotes.test(tag.textContent)) { 
       time = tag.parentNode.parentNode.parentNode.childNodes[0].childNodes[3].childNodes[3].textContent; 
       emailexp = new RegExp("*Excluded for anonymity*","g"); 
       email = emailexp.exec(tag.textContent); 
       oldstr = "Note From: " + email; 
       newstr = '<p style="font-weight:bold">Note From: ' + email + "\t" + time + "</p>" 
       noteStr += tag.textContent.replace(oldstr, newstr); 
       noteStr += "\n"; 
       var nodeToDelete = tag.parentNode.parentNode.parentNode.parentNode; 
       nodeToDelete.removeChild(nodeToDelete.childNodes[1]); 
      } 
     } 
    } 

Проблема, которую я имею что Chrome не честь . «для каждого» функциональности Итак, я был в состоянии изменить первую строку в:

response.forEach(function(table, index, array) { 

Но вложенная для каждого является частью я не могу заставить работать «предварительно» переменная является NodeList. , который я не могу использовать object.forEach метод на.

Есть ли у кого-нибудь предложения по h ow Я могу сделать эту работу? Имейте в виду, что никаких тегов с идентификаторами на все, над чем я работаю, это облегчит мою работу (headdesk).

ответ

3

Вместо:

for each (tag in pre) { 

Использование:

for (var i=pre.length, tag; i >= 0; i--) { 
    tag=pre.item(i); 

 Смежные вопросы

  • Нет связанных вопросов^_^