2017-10-14 202 views
0

我正在製作一個工具,我正在嘗試將文件拖放到其中。 它適用於除Chrome以外的所有瀏覽器,但它在Chrome中可以在本地使用。Chrome刪除事件偵聽器?

我有這一段代碼來定義事件:

document.ondragenter = 
    document.ondragleave = dragenterDragleave; 
    document.ondragover = function(evt) { evt.preventDefault() }; 
    document.ondrop = drop; 

在腳本結束時,事件的存在。但Chrome繼續處理其他代碼,並最終刪除事件。這是爲什麼發生?

編輯|我剛剛發現這是我電腦上的問題。但是它也發生在我的幾個朋友身上,使用chrome。它可能是一個正在運行的擴展,但這不應該是一個問題。

我問我的朋友們他們是否可以關閉廣告攔截,並且顯然修復了這個問題。

+0

添加JS小提琴示例 – Fyllekanin

+0

我不太清楚如何做到這一點。但你可以在這裏測試它:http://www.stepperman.me/imagefun/ – Stepepper

+0

我得到了main.js:40 Uncaught ReferenceError:copyTextToClipboard未定義 at FileReader.filereader.onloadend(main.js:40) – Hunter

回答

0

我自己修復了。當文檔根目錄上有事件偵聽器時,Adblock(特別是uBlock Origin ..)不喜歡它。所以我把它全部包裝在一個包裝中,並添加了事件監聽器,而現在它可以工作!

所以,如果你遇到過這個問題,並在文檔或正文上使用事件偵聽器。將其更改爲包裝。這應該修復它。