diff --git a/app/assets/javascripts/workers/worker_world.js b/app/assets/javascripts/workers/worker_world.js index 7fa0d9794..9a5a9ded5 100644 --- a/app/assets/javascripts/workers/worker_world.js +++ b/app/assets/javascripts/workers/worker_world.js @@ -65,14 +65,19 @@ self.console = console; self.importScripts('/javascripts/lodash.js', '/javascripts/world.js', '/javascripts/aether.js'); -var restricted = ["XMLHttpRequest", "importScripts", "Worker"]; -for(var i = 0; i < restricted.length; ++i) { - // We could do way more from this: http://stackoverflow.com/questions/10653809/making-webworkers-a-safe-environment - Object.defineProperty(self, restricted[i], { - get: function() { throw new Error("Access to that global property is forbidden."); }, - configurable: false - }); -} +// TODO: setting these in a loop in IE11 throws an error +Object.defineProperty(self, XMLHttpRequest, { + get: function() { throw new Error("Access to XMLHttpRequest is forbidden."); }, + configurable: false +}); +Object.defineProperty(self, importScripts, { + get: function() { throw new Error("Access to importScripts is forbidden."); }, + configurable: false +}); +Object.defineProperty(self, Worker, { + get: function() { throw new Error("Access to Worker is forbidden."); }, + configurable: false +}); self.transferableSupported = function transferableSupported() { if (typeof self._transferableSupported !== 'undefined') return self._transferableSupported; diff --git a/app/templates/base.jade b/app/templates/base.jade index a80d84c89..fef1eb980 100644 --- a/app/templates/base.jade +++ b/app/templates/base.jade @@ -81,10 +81,13 @@ body a(href='/admin', data-i18n="nav.admin") Admin .share-buttons - .g-plusone(data-href="http://codecombat.com", data-size="medium") + if !isIE + .g-plusone(data-href="http://codecombat.com", data-size="medium") .fb-like(data-href="https://www.facebook.com/codecombat", data-send="false", data-layout="button_count", data-width="350", data-show-faces="true", data-ref="coco_footer_#{fbRef}") - a.twitter-follow-button(href="https://twitter.com/CodeCombat", data-show-count="true", data-show-screen-name="false", data-dnt="true", data-align="right", data-i18n="nav.twitter_follow") Follow - iframe.github-star-button(src="http://ghbtns.com/github-btn.html?user=codecombat&repo=codecombat&type=watch&count=true", allowtransparency="true", frameborder="0", scrolling="0", width="110", height="20") + if !isIE + a.twitter-follow-button(href="https://twitter.com/CodeCombat", data-show-count="true", data-show-screen-name="false", data-dnt="true", data-align="right", data-i18n="nav.twitter_follow") Follow + iframe.github-star-button(src="http://ghbtns.com/github-btn.html?user=codecombat&repo=codecombat&type=watch&count=true", allowtransparency="true", frameborder="0", scrolling="0", width="110", height="20") + .partner-badges a.mixpanel-badge(href="https://mixpanel.com/f/partner") img(src="//cdn.mxpnl.com/site_media/images/partner/badge_light.png", alt="Mobile Analytics") diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index 7e9e1f29f..18915a7da 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -313,8 +313,8 @@ module.exports = class CocoView extends Backbone.View return mobileRELong.test(ua) or mobileREShort.test(ua.substr(0, 4)) isIE: -> - ua = navigator.userAgent or navigator.vendor or window.opera - return ua.search('MSIE') != -1 + # http://stackoverflow.com/questions/19999388/jquery-check-if-user-is-using-ie + navigator.userAgent.indexOf('MSIE') > 0 or !!navigator.userAgent.match(/Trident.*rv\:11\./) isMac: -> navigator.platform.toUpperCase().indexOf('MAC') isnt -1