2011-04-06 47 views
3

我想創建一個腳本,將搜索整個頁面稱爲「orange.png」創建的Greasemonkey腳本,搜索圖像: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"); 
    } 
    } 
} 

編輯:我是個白癡。我正在做我的功能,並從來沒有調用它,因此它從來沒有跑。無論如何,布羅克你的解決方案效果很好!非常感謝!

回答

1

您的代碼可以工作,但對於Greasemonkey的沙盒,請參閱:Greasemonkey Pitfalls。在GM中,集合不能以這種方式迭代。

此代碼將工作:

function findimg() 
{ 
    var orangeImages = document.querySelectorAll ('img[src*="orange.png"]') 
    if (orangeImages.length) 
    { 
     alert("Image Found"); 
    } 
} 
0

Dive Into Greasemonkey有一個共同模式的章節。它也包括你的問題。 儘管存在關於舊內容的警告,但對於包含特定屬性的元素的搜索並不容易!

+1

更具體的,該頁面http://diveintogreasemonkey.org/patterns/match-attribute.html – 2011-04-06 21:36:44

+0

謝謝你的Kristoffer。我手邊有PDF,所以我不知道在線HTML版本:) – progo 2011-04-06 21:51:17