2017-09-13 73 views
0

詳細信息: - 在我們的項目中,我們需要實現一項功能,在需要註銷用戶的情況下,如果他/她在5分鐘內不活動。如果他/她沒有將鼠標移動5分鐘,我們需要將用戶視爲不活動。問題在iframe中跟蹤鼠標移動

我們能夠在所有常規頁面中實現此目標,但在一頁中存在iframe並且iframe播放視頻和其他swf,mp4文件時遇到困難。同樣在iframe中,還有另一個框架用作內容的包裝。

在上面的頁面中,我們無法跟蹤鼠標移動,因此無法檢測用戶是否處於活動狀態。

經過大量的研究,我們已經實現了可以正常工作的代碼,如果我們通過瀏覽器控制檯運行,但是當我將其保存在頁面上時不起作用。

有人在類似功能上工作或知道任何與此相關的任何事情嗎?如果有人能夠幫助我實現這個功能,那將會很棒。

注: - 還有一些點擊I幀

回答

0

iframe的來源是從技術上講它自己的文件(documentception?)。訣竅是聽這個文檔中的鼠標事件。雖然我不這樣做,如果這是由相同的原產地政策允許的,你可以隨時試一試。

使用純JS:

var iframeDocument = document.querySelector('iframe').contentDocument; 

iframeDocument.addEventListener('mousemove', function (event) { 
    console.log(event.pageX, event.pageY); 
}); 

使用jQuery:

$('iframe').contents().mousemove(function(e) { 
    console.log(e.pageX, e.pageY); 
}); 

您可以通過調度iframe的文檔內做出父文檔的所有事件走得更遠。這使您只需使用一個監聽器即可處理所有事件,無論它們是否來自。