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">