2011-05-28 17 views
0

我正在創建一個FF插件。我想在頁面中用.jpg (或任何其他用戶定義的擴展名)阻止所有URL。如何使用FF擴展程序阻止使用.jpg的網址?

怎麼辦?

+0

任何人的幫助? – 2011-05-28 21:48:55

+6

自從你問你的問題已經過去了7分鐘。堆棧溢出不是即時應答服務。我建議你a)冷靜下來(即,尾隨問號的印章,它給出了歇斯底里的外觀)b)爲你的問題提供一些更具體的內容 - 顯示你已經嘗試了什麼,你卡在什麼等等。謝謝你,祝你好運! – 2011-05-28 21:52:59

+0

@Thomas,謝謝你的回覆:)雅,我很不耐煩:(我一直被困在上面說的問題好幾天下面下面是正是我想要的但我不能理解他的解釋:(http: //blog.webmynd.com/2011/04/04/equivalent-to-beforeload-event-for-firefox-extensions/ – 2011-05-28 22:10:19

回答

1

通過URL假設,您的意思是<a>元素,則以下代碼將刪除以這些擴展名結尾的所有jpg/gif/png鏈接。如果您希望將其更改爲圖像,則可以將搜索的元素從a更改爲img,並將搜索測試從href更改爲src

jsfiddle上的示例。

var m = document.getElementsByTagName("a"); 

    var patt = new RegExp("^https?://(?:[a-z\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:jpg|gif|png)$","i"); 
    var removed = 0; 
    for (i=0; i<m.length;){ 
     if (patt.test(m[i].href)){ 
      // it got matched, remove it 
      m[i].parentNode.removeChild(m[i]); 
      removed++; 
     }else{ 
      i++; 
     } 

    } 
    alert(removed+" image url's removed"); 
+0

感謝您的回覆,您的代碼爲我提供了很多幫助。此代碼會在圖片開始下載之前編碼? – 2011-05-28 22:29:28

+0

如果您在文檔加載中運行它,圖像將開始加載,但會比用戶注意的速度更快地移除。但是,http請求可能在刪除來自DOM的鏈接。 – Niklas 2011-05-28 22:34:52

+0

我是一個fraid,我問你太多了。如何防止發送http請求?似乎這個鏈接將有所幫助,但我不明白如何使用它https://developer.mozilla.org/en/XUL_School/Intercepting_Page_Loads – 2011-05-28 22:56:57

相關問題