diff options
Diffstat (limited to 'old/server/app/static/js/util.js')
| -rw-r--r-- | old/server/app/static/js/util.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/old/server/app/static/js/util.js b/old/server/app/static/js/util.js new file mode 100644 index 00000000..851f634a --- /dev/null +++ b/old/server/app/static/js/util.js @@ -0,0 +1,32 @@ +var is_iphone = (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) +var is_ipad = (navigator.userAgent.match(/iPad/i)) +var is_android = (navigator.userAgent.match(/Android/i)) +var is_mobile = is_iphone || is_ipad || is_android +var is_desktop = ! is_mobile; + +document.body.parentNode.classList.add(is_desktop ? 'desktop' : 'mobile') + +function preventDefault(e){ + e.preventDefault() + e.stopPropagation() +} + +var decodeEntities = (function() { + // this prevents any overhead from creating the object each time + var element = document.createElement('div'); + + function decodeHTMLEntities (str) { + if(str && typeof str === 'string') { + // strip script/html tags + str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, ''); + str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, ''); + element.innerHTML = str; + str = element.textContent; + element.textContent = ''; + } + + return str; + } + + return decodeHTMLEntities; +})();
\ No newline at end of file |
