2015-06-29 2 views
0

Я пытаюсь создать очень простое хромированное расширение. По сути, я хочу, чтобы он выполнял поиск по странице для кучи имен и добавлял текст (позже изображение) к этому тексту. я придумал этот кодjquery chrome extension добавить текст в текст

// Array with names 
String[] name = { 
    "John", "Lisa", "Marge", "Barney", "Chuck", "Bobby" 
}; 
//search for Names and add text 
for (int i = 0; i < name.length; i++) { 
    $('*:contains(name[i])').each(function() { 
     if ($(this).children().length < 1) 
      $(this).append('Found name'); 
    }); 
} 

очевидно, он не работает. У меня возникают трудности с отладкой расширения, и я не совсем уверен, почему он не работает. Может ли кто-нибудь помочь?

ответ

1

Так что ваша линия массив является незаконным:

String[] name = {"John", "Lisa", "Marge", "Barney", "Chuck", "Bobby"}; 

должно быть:

var name = ["John", "Lisa", "Marge", "Barney", "Chuck", "Bobby"]; 

Моя догадка вы не видите ошибки в консоли, потому что вы работаете это в фоновом скрипте, который не будет возвращать ошибки в обычную консоль. Ознакомьтесь с этой замечательной публикацией о том, как отлаживать ошибки сценария фона: Stackoverflow Background JS in Chrome Extension

+0

Правильно ли это jquery? Я не был уверен, могу ли я использовать массив в запросе ... –

+0

Не уверен в логике, но есть еще несколько проблем: 1) int должен быть var, а 2) $ ('*: contains (name [ i]) '), вероятно, должно быть $ (' *: contains ('+ name [i] +') '). Я не уверен, правильно ли содержит логику contains, которая вернет много контента. Вам нужно будет точно уточнить, что вы пытаетесь вернуть. – Brian

+0

ОК спасибо за помощь. Я пришел из C#, и java - это не мое дело, но chrome extensions только java –

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