Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onTimezoneOffsetChange(changeHandler){
- function getTimezoneOffset(){
- const d = new Date()
- return d.getTimezoneOffset()
- }
- function getNextHourOffset(){
- const d = new Date()
- return (1000*60*60) - (((d.getMinutes()*60) + d.getSeconds()) * 1000) + d.getMilliseconds()
- }
- let lastTZOffset = getTimezoneOffset()
- let timeoutRef
- function scheduleCheck(){
- timeoutRef = setTimeout(function(){
- const tzOffset = getTimezoneOffset()
- if(lastTZOffset !== tzOffset){
- lastTZOffset = tzOffset
- changeHandler(tzOffset)
- }
- scheduleCheck()
- }, getNextHourOffset()+1) // run 1ms after end of hour
- }
- scheduleCheck()
- }
- onTimezoneOffsetChange(function(tzOffset){
- console.log("timezone changed")
- // location.reload() or refresh somehow
- })
Add Comment
Please, Sign In to add comment