2009-11-05 82 views
2

我正在運行一個亞洲電子商務網站,用戶發佈他們的產品圖像。有沒有辦法禁用右鍵單擊頁面上的1個特定圖像?如何禁用右鍵單擊保存一個特定圖像

E.g.查看產品時,有一個大圖像,然後是產品的一些縮略圖。當試圖右鍵點擊大圖時,我想禁用右鍵單擊,但如果他們嘗試右鍵單擊縮略圖,我不想禁用右鍵單擊。

感謝

PS - 我完全理解可用性原因,不要禁用右鍵單擊,但版權和盜竊形象在亞洲比北美國家一個更大的問題。此外,這對賣家而言更加安心,而不是實際保護內容。

+0

請理解,即使右擊完全禁用,它是完全微不足道下載任何圖像等多種方式 – philfreo 2009-11-05 05:49:05

+1

他指出它不是真正爲安全起見,反正。 – Ikke 2009-11-05 05:53:42

+0

水印圖像,在Photoshop中花12秒。 – epascarello 2009-11-05 12:38:05

回答

6

儘管它不符合W3C標準,但oncontextmenu="return false;"作爲屬性應該完全符合您的要求。

+2

這仍然會讓別人很容易繞過。一個更強大的解決方案是手動提供有版權的圖像(將圖像作爲本地文件存儲,並將所有對圖像的請求重定向到執行權限檢查的處理程序,並且至多返回圖像的二進制文件)。採取更安全的方式,這不難,但要有一定的創造力。通過將圖像分解成多個部分並使用CSS將它們拼合在一起來拼圖顯示圖像。使用Flash或類似技術提供圖像。 在一天結束時,請記住任何可以截取屏幕截圖的東西都可能被盜。 – 2009-11-05 05:58:33

+0

謝謝史蒂文。雅我明白,繞過幾乎所有這些Javascript「內容保護」方法都非常容易。我只是需要一些簡單的東西來讓顧客開心,這種oncontextmenu屬性已經成功了。謝謝! – justinl 2009-11-05 06:09:14

+0

大多數瀏覽器都可以在瀏覽器設置中覆蓋此設置,因此很浪費。 – epascarello 2009-11-05 12:37:04

7

完全阻止人是徒勞的,但是,我的首選方法至少使它稍微困難一點是將div放在圖像的頂部。

<div id="image-container" style="postion: relative;"> 
    <img src="" alt="" /> 
    <div style="width: 100%; height: 100%; position: absolute; top: 0; left: 0"></div> 
</div> 

玩弄它得到你想要的。爲了使它看起來更加語義化,可以將文本置於空'div'圖像版權',然後在其上執行text-indent: -9999px。我經常試着將一個空白的元素變成語義上的東西。

說到這裏,我最喜歡繞過做這個事情的人(例如eBay)的方式是Firefox的插件Nuke Anything Enhanced。在圖像技巧上使用div會使我繞過約2秒鐘。

+0

嗨亞歷克斯, 我試過你的div容器方法,但遇到麻煩讓它工作。無論哪種方式感謝您的建議:) – justinl 2009-11-05 06:09:47

+0

在當前的IE,FF和Chrome中效果很好:)謝謝! – rustyx 2014-08-16 18:49:22

+0

正是我在找什麼,謝謝:) – asologor 2015-01-29 19:22:49

0

如果您在網絡上發佈圖片,則不存在防止某人保存副本的萬無一失的方法。它必須通過電線發送才能顯示出來,並且確定的用戶可以使用Wireshark或Fiddler等工具或任何瀏覽器調試框架(如Firebug)攔截它,即使您找到了禁用右鍵單擊並拖放到桌面。

你可以使得是非常稍微困難,但努力是不值得的,恕我直言。

+1

我個人理解你的觀點,但這只是......在亞洲完全不同的思維模式。我認爲死於網站所有者的完全不同的文化,直到他們相信我能夠說出「你不能右鍵點擊」將會讓人安心。此外,亞洲的Facebook沒有啓用右鍵單擊。這只是規範。 – justinl 2009-11-05 05:54:11

+1

亞洲的打印屏幕按鈕是否被禁用?你知道這個術語嗎?這就是所謂的'通過默默無聞的安全',它唯一證明的影響是不滿的用戶。無論如何,真正想要「竊取」圖像的人都會這樣做。甚至可能有些人不會首先偷盜他們,只是爲了證明一個觀點。請記住:爲Minas Morgul的客戶工作被認爲是有害的;) – anddoutoi 2009-11-05 09:24:16