Мой сайт asp.net работает хорошо на IE6, IE7, IE8, IE9, Chrome, Safari, Firefox и Opera. Но он не работает вообще в IE10.
Если я нажимаю на любом месте сайта (любая кнопка, любая ссылка и т.д.), она возвращает следующую ошибку:
SCRIPT5022: Sys.ArgumentOutOfRangeException: Value must be an integer.
Parameter name: x
Actual value was 5.999999523162842.
JS вещи, такие как вкладки, не работают из-за этой проблемы. Я обнаружил проблему, и она находится в MicrosoftAjax.js, в частности, следующим способом.
Sys.UI.Point = function Sys$UI$Point(x, y) {
/// <param name="x" type="Number" integer="true"></param>
/// <param name="y" type="Number" integer="true"></param>
/// <field name="x" type="Number" integer="true"></field>
/// <field name="y" type="Number" integer="true"></field>
var e = Function._validateParams(arguments, [
{name: "x", type: Number, integer: true},
{name: "y", type: Number, integer: true}
]);
if (e) throw e;
this.x = x;
this.y = y;
Он работает со всеми другими версиями IE с 6, что довольно сурово.
Я знаю, что HTML поддерживается только реальными браузерами, но Internet Explorer, но мой клиент действительно хочет, чтобы сайт работал в IE10.
Просто, чтобы быть понятным, он хорошо работает в версиях от 6 до 9, хром, firefox и opera. Ни один из них не показывает ошибки javascript, просто ie10, и эта ошибка возникает при каждом нажатии. Я не могу отследить, кто вызывает этот метод. Это большой сайт, и ни один из js-кода, который я использую, вызывает его. Я думаю, что, вероятно, инфраструктура MicrosoftAjax.js связала событие click, и оно что-то выполняет, но я не уверен, что он выполняет.
Кто-нибудь может мне помочь?