-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfix.js
More file actions
51 lines (41 loc) · 1.58 KB
/
Copy pathfix.js
File metadata and controls
51 lines (41 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
function storeViewedVideos() {
if (sessionStorage.viewedItems && localStorage.dumpertPlusPlusViewedItems) {
const sessionViewedItemsArray = sessionStorage.viewedItems.split(',')
const localViewedItemsArray = localStorage.dumpertPlusPlusViewedItems.split(',')
localStorage.dumpertPlusPlusViewedItems = mergeArraysToString(sessionViewedItemsArray, localViewedItemsArray)
sessionStorage.viewedItems = localStorage.dumpertPlusPlusViewedItems
}
syncViewedItems()
}
function mergeArraysToString(viewItems, localItems){
return [...new Set([...viewItems, ...localItems])].toString()
}
function syncViewedItems(){
if (sessionStorage.viewedItems && !localStorage.dumpertPlusPlusViewedItems) {
localStorage.dumpertPlusPlusViewedItems = sessionStorage.viewedItems
}
if (!sessionStorage.viewedItems && localStorage.dumpertPlusPlusViewedItems) {
sessionStorage.viewedItems = localStorage.dumpertPlusPlusViewedItems
}
}
function scrollToLocation(){
window.scroll({
top: getScrollLocation(),
left: 0,
behavior: 'auto'
})
}
function setScrollLocation(){
if (this.scrollY !== 0) {
sessionStorage.dumpertPlusPlusScrollLocation = this.scrollY
}
}
function getScrollLocation(){
return sessionStorage.dumpertPlusPlusScrollLocation ? sessionStorage.dumpertPlusPlusScrollLocation : 1
}
window.addEventListener('beforeunload', storeViewedVideos)
window.addEventListener('click', storeViewedVideos)
window.addEventListener('scroll', setScrollLocation)
window.addEventListener('fullscreenchange', scrollToLocation)
storeViewedVideos()
// console.log('dikke tieten')