Создание сценария greasemonkey, который ищет изображение: orange.png - PullRequest
3 голосов
/ 06 апреля 2011

Я хочу создать скрипт, который будет искать по всей странице изображение под названием «orange.png»

Он будет работать под нагрузкой и должен запускаться только один раз. Если он находит упомянутое изображение, он выдаст окно предупреждения, в котором будет указано, что оно найдено.

У меня есть частичный код, но изображение не найдено должным образом. Большая часть этого кода была просто вырезана и вставлена ​​из других источников.

function findimg()
{
 var imgs,i;
 imgs=document.getElementsByTagName('img');
 for(i in imgs)
  {
  if(/orange.png/.test(imgs[i].src))
   {
     alert("Image Found");
   }
  }
}

Редактировать: я идиот. Я выполнял свою функцию и никогда не вызывал ее, поэтому она никогда не работала. В любом случае, Брок, ваше решение отлично работает! Большое спасибо!

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Ваш код работал бы, если бы не песочница Greasemonkey, см. Подводные камни Greasemonkey . В GM коллекции не могут повторяться таким образом.

Этот код будет работать:

function findimg()
{
    var orangeImages    = document.querySelectorAll ('img[src*="orange.png"]')
    if (orangeImages.length)
    {
        alert("Image Found");
    }
}
0 голосов
/ 06 апреля 2011

Dive Into Greasemonkey имеет главу общих шаблонов. Это включает в себя и вашу проблему. Несмотря на предупреждение о старом контенте, поиск элемента, содержащего определенный атрибут, не так просто устаревает!

...