2012-03-20 213 views
0

我的朋友做到了這一點,以便在他的頁面上,你不能右鍵點擊他的照片來保存它們。檢查完html後,它看起來像是用Javascript來綁定mousedown事件。如果我禁用Javascript,那麼我可以右鍵單擊並保存圖片,但我想嘗試查看是否可以在不禁用Javascript的情況下執行此操作。我嘗試使用Javascript控制檯將不同的值和函數設置爲null,但它不起作用。Javascript事件監聽器

我在mousedown事件上設置了一個斷點,每當我右鍵點擊一張圖片時,就會發生什麼。

return document.addEventListener("mousedown", (function(e) { 
     return _this.onMouseDown(e); 
     }), true); 

爲什麼每次用戶點擊按鈕時都需要綁定mousedown事件?它不應該只在開始時綁定一次嗎?

我試過使用removeEventListener,但它沒有做任何事情。我怎樣才能重新啓用右鍵點擊圖片?

這是his page

回答

1

只需運行一個瀏覽器,該瀏覽器具有阻止網頁阻止右鍵單擊並設置該首選項(如Firefox或Chrome)的偏好設置。我可以右鍵點擊保存你的朋友的任何圖像到我的Firefox的默認配置中。可以使用右鍵單擊阻止的方法比您的朋友正在使用的方法更有效(包括即使JavaScript禁用時也可以使用的方式),但是沒有任何方案可以阻止任何人拍攝圖像。這些圖像總是可以通過屏幕截圖,從瀏覽器緩存中抓取,從頁面源抓取圖像URL等等來複制...

一個流行的照片服務通過放置縮放的透明gif圖像來使用右鍵單擊威懾在背景圖片上顯示您看到的實際圖片。當用戶右鍵點擊時,他們會獲得透明的gif,而不是他們正在查看的背景圖片。我稱之爲一種小威懾力,因爲它仍然很容易被任何堅定的小偷繞過。即使javascript被禁用,該方案也能正常工作,甚至可以在Firefox等瀏覽器中工作,阻止應用阻止右鍵單擊,因爲它不使用任何javascript,並且因爲它提供了右鍵單擊空白gif而不是感興趣的圖像。

0

您可以看到是否有任何其他事件附加到文檔。使用Visual event

另外addEventListener是附加事件的舊方法,如果您可以使用jQuery,那麼您可以使用bind()和unbind()方法輕鬆地綁定/解除綁定事件。

+1

addEventListener不是附加事件的舊方法。這是這樣做的標準方式。 jQuery只使用addEventListener本身。 – jfriend00 2012-03-20 08:26:48

+0

我已經嘗試過視覺事件。它顯示了一些東西,但它似乎沒有顯示任何有關圖片。 – 2012-03-20 08:38:06