2012-02-29 39 views
0

是否可以通過Web應用程序阻止拖放(移動/複製)圖像或任何文件。例如:是否可以通過Web應用程序防止複製/移動(在Web應用程序上拖放)圖像?

例如:我打開了我的web應用程序並選擇了一個系統映像並放入該web應用程序,它以全尺寸打開一個圖像並顯示url爲file:/// C:/ Users/Public /圖片/樣本%20Pictures/Chrysanthemum.jpg

我想阻止它。

是否有可能如果是的話那麼如何JS,如果沒有那麼最新是什麼原因?

回答

0
$(document).bind({ 
dragenter: function (e) { 
    e.stopPropagation(); 
    e.preventDefault(); 
    var dt = e.originalEvent.dataTransfer; 
dt.effectAllowed = dt.dropEffect = 'none'; 
}, 
dragover: function (e) { 
    e.stopPropagation(); 
    e.preventDefault(); 
    var dt = e.originalEvent.dataTransfer; 
    dt.effectAllowed = dt.dropEffect = 'none'; 
} 
}); 

檢查此鏈接:http://jsfiddle.net/andreymir/H3RR7/light/

0

當用戶試圖離開當前頁面時會觸發onb​​eforeunload事件。我在Chrome,Firefox和IE 9上測試過它 - 如果用戶將文件放入窗口,它也會觸發。所以這可能會對你有用。這顯然取決於Javascript,不保證啓用。所以不要依賴它。

E.g.與jquery:

$(function(){ 
    $(window).bind('beforeunload', function(){ 
     return 'Really leave page?'; 
    }); 
}); 

它也會觸發,如果用戶導航離開頁面,所以這可能會在實踐中有點不方便。

+0

我已經嘗試過,但它真的非常不方便......我不想表現出任何確認或警告 – Rocky 2012-02-29 09:43:37

+0

你爲什麼要阻止它呢?如果用戶將圖像拖入瀏覽器,爲什麼會出現問題? – 2012-02-29 09:47:12

+0

其客戶需求:( – Rocky 2012-02-29 09:51:26

0

您應該插入您的HTML文檔的頭部下面的代碼,也就是標記之間。

<SCRIPT LANGUAGE="JavaScript"> 
<!-- Disable 
function disableselect(e){ 
return false 
} 

function reEnable(){ 
return true 
} 

//if IE4+ 
document.onselectstart=new Function ("return false") 
document.oncontextmenu=new Function ("return false") 
//if NS6 
if (window.sidebar){ 
document.onmousedown=disableselect 
document.onclick=reEnable 
} 
//--> 
</script> 
相關問題