React JS не работает с Internet Explorer 9
Я пытаюсь использовать React с Internet Explorer 9, но получаю следующие ошибки, даже пытаясь запустить что-то очень barebones:
SCRIPT438: объект не поддерживает свойство или метод "isArray" реакция-с-аддонами.js, строка 4 символ 317
SCRIPT438: объект не поддерживает свойство или метод "create" JSXTransformer.js, строка 4 символ 326
Я читал https://facebook.github.io/react/docs/working-with-the-browser.html, в котором говорится, что IE8 может иметь эти проблемы, но нет упоминания об IE9. В гугле тоже не было никаких решений.
тем не менее, я попытался добавить es5-shim/sham, как было предложено на этой странице. Это приводит к другой ошибке:
SCRIPT438: объект не поддерживает свойство или метод "hasAttribute" в ES5-ШИМ.минута.js, строка 6 символ 4143
кто-нибудь встречаются эти ошибки в IE9 или иначе?
Спасибо за помощь!
полный код, который я пытаюсь запустить:
<html>
<head>
<script src="js/es5-shim.min.js"></script>
<script src="js/es5-sham.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="js/react-with-addons.js"></script>
<script src="js/JSXTransformer.js"></script>
</head>
<body>
<div id="container"></div>
<script type="text/jsx">
React.render(
<h1>HELLO WORLD!</h1>
);
</script>
</body>
</html>
1 ответов
General вам нужно включить указанные Поли-заливки для функций ES5 (как вы заметили):https://facebook.github.io/react/docs/react-dom.html#browser-support Вам также может понадобиться HTML5 shiv в дополнение к Поли-заполнениям, которые вы предоставили.
более конкретно, хотя проблема, вероятно, не с Поли-заполнениями, а с режимом документа, в котором работает IE9. Вы хотите убедиться, что вы устанавливаете правильный режим документа в своем HTML-файле, чтобы IE знал какая версия до цели. В противном случае, даже если вы используете IE9, он может быть нацелен на IE7, что нехорошо.
<meta http-equiv="X-UA-Compatible" content="IE=edge">