Uprośrzyłem mój problem tak bardzo, jak to możliwe. Dzieje się tak tylko w Internet Explorerze (potwierdzono 9 i 10). Mam stronę renderowany z tym:IE 10 + KnockoutJS = HierarchyRequestError?
<html>
<body>
<span data-bind="text:$data[0].Mileage"></span>
<script type="text/javascript">
window.initChild = function (ko, viewModel) {
window.ko = ko;
ko.applyBindings(viewModel, document.body);
}
</script>
</body>
</html>
My SPA wywołuje
var otherWindow = window.open('myurl', '_blank');
var handler = function() {
otherWindow.initChild(ko, report);
};
if (otherWindow.addEventListener) {
otherWindow.addEventListener('load', handler, false);
} else if (otherWindow.attachEvent) {
otherWindow.attachEvent('onload', handler);
}
Sprawdziłem, dane docierają w metodzie initChild
porządku.
Jeśli wiążę WSZYSTKO na stronie, otrzymuję HierarchyRequestError
w wywołaniu applyBindings. Mój google-fu całkowicie mnie porzucił, jestem całkowicie nieświadomy, co jest nie tak.
Jest oznakowany jako IE. Czy to się nie dzieje w innych przeglądarkach? – Amy
nie, nie ma. Kod (i jego oryginalny, bardziej złożony odpowiednik) działa dobrze w FF i Chrome. – TDaver
'$ data [0] .Milage' wydaje się mało prawdopodobne, że twój viewmodel jest tablicą. – Tyrsius