{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react/issues/6999","repository_url":"https://api.github.com/repos/facebook/react","labels_url":"https://api.github.com/repos/facebook/react/issues/6999/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react/issues/6999/comments","events_url":"https://api.github.com/repos/facebook/react/issues/6999/events","html_url":"https://github.com/facebook/react/issues/6999","id":159193129,"number":6999,"title":"React 15.x can not work in IE 8.","user":{"login":"eternalsky","id":8038928,"avatar_url":"https://avatars.githubusercontent.com/u/8038928?v=3","gravatar_id":"","url":"https://api.github.com/users/eternalsky","html_url":"https://github.com/eternalsky","followers_url":"https://api.github.com/users/eternalsky/followers","following_url":"https://api.github.com/users/eternalsky/following{/other_user}","gists_url":"https://api.github.com/users/eternalsky/gists{/gist_id}","starred_url":"https://api.github.com/users/eternalsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eternalsky/subscriptions","organizations_url":"https://api.github.com/users/eternalsky/orgs","repos_url":"https://api.github.com/users/eternalsky/repos","events_url":"https://api.github.com/users/eternalsky/events{/privacy}","received_events_url":"https://api.github.com/users/eternalsky/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-06-08T15:26:06Z","updated_at":"2016-07-25T18:51:56Z","closed_at":"2016-06-08T15:30:07Z","body":"https://github.com/facebook/react/blob/master/src/isomorphic/classic/element/ReactElement.js#L248\r\n\r\nIt seems that createElement method will call `Object.defineProperty` without checking canDefineProperty, and make IE8 crash even with `es5-sham.`\r\nes5-sham throw an error but not catched by react."},"comment":{"url":"https://api.github.com/repos/facebook/react/issues/comments/235048183","html_url":"https://github.com/facebook/react/issues/6999#issuecomment-235048183","issue_url":"https://api.github.com/repos/facebook/react/issues/6999","id":235048183,"user":{"login":"jpdevries","id":592335,"avatar_url":"https://avatars.githubusercontent.com/u/592335?v=3","gravatar_id":"","url":"https://api.github.com/users/jpdevries","html_url":"https://github.com/jpdevries","followers_url":"https://api.github.com/users/jpdevries/followers","following_url":"https://api.github.com/users/jpdevries/following{/other_user}","gists_url":"https://api.github.com/users/jpdevries/gists{/gist_id}","starred_url":"https://api.github.com/users/jpdevries/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpdevries/subscriptions","organizations_url":"https://api.github.com/users/jpdevries/orgs","repos_url":"https://api.github.com/users/jpdevries/repos","events_url":"https://api.github.com/users/jpdevries/events{/privacy}","received_events_url":"https://api.github.com/users/jpdevries/received_events","type":"User","site_admin":false},"created_at":"2016-07-25T18:51:56Z","updated_at":"2016-07-25T18:51:56Z","body":"@brigand I would up with something not too much different, but it does use feature detection instead of the userAgent\r\n\r\n```html\r\n<script>\r\n    var doEnhancments = document.addEventListener ? true : false; // this is super annoying but react-redux will bork the page, turn it into a blank white screen in IE8 so we have to not even try to load it :(\r\n</script>\r\n\r\n  <!-- NOTE: change these to load the .min in production. They are not only smaller filesize but have wildly different performance -->\r\n\t<script>if(doEnhancments) document.write('<script defer src=\"//cdnjs.cloudflare.com/ajax/libs/redux/3.5.2/redux.min.js\"><\\/script>');</script>\r\n  <script defer>if(doEnhancments) try { Redux } catch (e) { document.write('<script src=\"assets/js/vendor/redux.min.js\"><\\/script>') }</script>\r\n\r\n\t<script>if(doEnhancments) document.write('<script defer src=\"//cdnjs.cloudflare.com/ajax/libs/react/15.0.1/react.min.js\"><\\/script>');</script>\r\n  <script defer>if(doEnhancments) try { React } catch (e) { document.write('<script src=\"assets/js/vendor/react.min.js\"><\\/script>') }</script>\r\n\r\n\t<script>if(doEnhancments) document.write('<script defer src=\"//cdnjs.cloudflare.com/ajax/libs/react/15.0.1/react-dom.min.js\"><\\/script>');</script>\r\n    <script defer>if(doEnhancments) try { ReactDOM } catch (e) { document.write('<script src=\"assets/js/vendor/react-dom.min.js\"><\\/script>') }</script>\r\n\r\n\t<script>if(doEnhancments) document.write('<script defer src=\"//cdnjs.cloudflare.com/ajax/libs/react-redux/4.4.5/react-redux.min.js\"><\\/script>');</script>\r\n\t<script defer>if(doEnhancments)try { ReactRedux } catch (e) {  document.write('<script src=\"assets/js/vendor/react-redux.min.js\"><\\/script>') }</script>\r\n\r\n\t<script>if(doEnhancments) document.write('<script defer src=\"assets/js/app.js?nc=7\"><\\/script>');</script>\r\n```\r\n\r\nI load React and Redux dependencies from CDNs with local fallbacks.\r\n\r\nI also tried a trick where you create a global variable, and then use IE conditionals to set that global variable to true (or false). I prefer the feature detection method though."}}
{"actor":{"display_login":"jpdevries"}}