私の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;
6以降の他のすべてのIEバージョンで動作しますが、これはかなりの運命です。
HTMLは実際のブラウザーでのみサポートされており、Internet Explorerは除外されていることは知っていますが、私のクライアントは、サイトがIE10で動作することを本当に望んでいます。
明確にするために、それはie6から9、chrome、firefox、operaでうまく機能します。それらのどれもjavascriptエラーを表示せず、ie10だけであり、このエラーはクリックするたびに発生します。誰がこのメソッドを呼び出しているかを追跡していません。これは大きなサイトであり、私が使用するjsコードはどれもそれを呼び出していません。おそらくMicrosoftAjax.jsフレームワークがクリックイベントをバインドし、何かを実行していると思いますが、何が実行されているのかわかりません。
誰か助けてもらえますか?