PageSourceSearch

https://navyhistory.org/wp-content/plugins/exit-popup/js/exit-popup.js?ver=1790819642

js navyhistory.org collected 2026-10-01 11:48:54 UTC 2,971 bytes, 30 lines download raw bytes

vendor: 2,971 bytes, lines 1-30
1/*
2 * Exit Popup
3 * Exit Popup enabling you to display a modal before a user leaves your website
4 *
5 * Brontobytes
6 * www.brontobytes.com
7*/
8(function(root,factory){if(typeof define==='function'&&define.amd){define(factory);}else if(typeof exports==='object'){module.exports=factory(require,exports,module);}else{root.exitpopup=factory();}}(this,function(require,exports,module){return function exitpopup(el,custom_config){"use strict";var config=custom_config||{},aggressive=config.aggressive||false,sensitivity=setDefault(config.sensitivity,20),timer=setDefault(config.timer,1000),delay=setDefault(config.delay,0),callback=config.callback||function(){},cookieExpire=setDefaultCookieExpire(config.cookieExpire)||'',cookieDomain=config.cookieDomain?';domain='+config.cookieDomain:'',cookieName=config.cookieName?config.cookieName:'viewedExitPopupWP',sitewide=config.sitewide===true?';path=/':'',_delayTimer=null,_html=document.documentElement;function setDefault(_property,_default){return typeof _property==='undefined'?_default:_property;}
9function setDefaultCookieExpire(days){var ms=days*24*60*60*1000;var date=new Date();date.setTime(date.getTime()+ms);return"; expires="+date.toUTCString();}
10setTimeout(attachexitpopup,timer);function attachexitpopup(){if(isDisabled()){return;}
11_html.addEventListener('mouseleave',handleMouseleave);_html.addEventListener('mouseenter',handleMouseenter);_html.addEventListener('keydown',handleKeydown);}
12function handleMouseleave(e){if(e.clientY>sensitivity){return;}
13_delayTimer=setTimeout(fire,delay);}
14function handleMouseenter(){if(_delayTimer){clearTimeout(_delayTimer);_delayTimer=null;}}
15var disableKeydown=false;function handleKeydown(e){if(disableKeydown){return;}
16else if(!e.metaKey||e.keyCode!==76){return;}
17disableKeydown=true;_delayTimer=setTimeout(fire,delay);}
18function checkCookieValue(cookieName,value){return parseCookies()[cookieName]===value;}
19function parseCookies(){var cookies=document.cookie.split('; ');var ret={};for(var i=cookies.length-1;i>=0;i--){var el=cookies[i].split('=');ret[el[0]]=el[1];}
20return ret;}
21function isDisabled(){return checkCookieValue(cookieName,'true')&&!aggressive;}
22function fire(){if(isDisabled()){return;}
23if(el){el.style.display='block';}
24callback();disable();}
25function disable(custom_options){var options=custom_options||{};if(typeof options.cookieExpire!=='undefined'){cookieExpire=setDefaultCookieExpire(options.cookieExpire);}
26if(options.sitewide===true){sitewide=';path=/';}
27if(typeof options.cookieDomain!=='undefined'){cookieDomain=';domain='+options.cookieDomain;}
28if(typeof options.cookieName!=='undefined'){cookieName=options.cookieName;}
29document.cookie=cookieName+'=true'+cookieExpire+cookieDomain+sitewide;_html.removeEventListener('mouseleave',handleMouseleave);_html.removeEventListener('mouseenter',handleMouseenter);_html.removeEventListener('keydown',handleKeydown);}
30return{fire:fire,disable:disable,isDisabled:isDisabled};};}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.