Erreur Javascript dans chaque page sur IE 10
Mon asp.net le site est en cours d'exécution bien sur IE6, IE7, IE8, IE9, Chrome, Safari, Firefox et Opera. Mais il ne fonctionne pas du tout dans IE10.
Si je clique n'importe où dans le site (un bouton, un lien, etc), il renvoie l'erreur suivante:
SCRIPT5022: Sys.ArgumentOutOfRangeException: Value must be an integer.
Parameter name: x
Actual value was 5.999999523162842.
JS choses, comme les onglets, ne fonctionne pas à cause de ce problème. J'ai traqué le problème, et c'est dans MicrosoftAjax.js , plus précisément dans la méthode suivante.
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;
Il fonctionne sur toutes les autres versions IE depuis le 6, ce qui est tout à fait un sort.
Je sais que le HTML est uniquement pris en charge par de vrais navigateurs, Internet Explorer, mais mon client veut vraiment que le site fonctionne dans IE10.
Juste pour être clair, il fonctionne bien dans ie6 à 9, chrome, firefox et opera. Aucun d'entre eux montrent des erreurs javascript, juste ie10, et cette erreur revient à chaque clic.
Je copule pas qui est l'appel de cette méthode. C'est un gros site et aucun code js que j'utilise est de l'appeler. Je pense que, probablement, MicrosoftAjax.js cadre a lié l'événement click et c'est l'exécution de quelque chose, mais je ne suis pas sûr de ce qu'il est en cours d'exécution.
Quelqu'un peut m'aider?
parseInt()
) avant d'appeler votre fonction?Avez-vous le corriger? Pourquoi un flotteur étant passé? -1 pour ne pas montrer à cause de diligence. Il pourrait être parce que vous êtes à la multiplication ou de la division de nombres et d'entrer dans la précision des problèmes, si juste autour du nombre
Ce genre de chose se produit pour moi quand j'ai cassé un plugin jQuery ou mauvais code JavaScript. Avez-vous quelque chose sur la page qui utilise Ajax? Voyez-vous tout code qui a une référence à quelque chose qui n'est pas là? Si vous affichez la page dans Firefox ou Chrome, voyez-vous des erreurs quand vous frappez
Control-Shift-J
?Je ne pouvais pas savoir qui est l'appel de méthodes. Je n'appelle pas elles, c'est quelque chose d'interne de MicrosoftAjax.js je pense
Êtes-vous d'utiliser les iFrames? Ce bloc de code a causé quelques difficultés, en particulier sur les pages avec les iFrames. forums.asp.net/t/1078598.aspx/1. Aussi: support.microsoft.com/kb/936993
OriginalL'auteur Tony | 2012-12-26
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé un joli solution blogué par Yuriy:
Coller sur votre page pour remplacer le Sys$UI$par Point de fonction pour arrondir les nombres.
Ou, ensemble
<compilation debug="false">
L'une de ces fonctionné pour moi.
OriginalL'auteur Mafu Josh
La réponse est dans le lien suivant:
http://support.microsoft.com/kb/936993
J'ai dû changer Microsoft.Ajax.js.
Merci Justin, c'est une douleur, vraiment.
L'article base de connaissances a été utile comme point de départ, mais après leur codage des changements, j'étais encore à l'obtention de l'erreur. J'ai fini par changer de Mathématiques.round().
C'est en 2017, et je suis en train de travailler sur .net 4.0 webforms., cette organisation ne peut que bander le demande depuis si longtemps., mais jusqu'alors, merci pour ces réponses.
OriginalL'auteur Tony
Juste pour ajouter à mafu josh's réponse, le prototype peut également être la question.
Voici le code pour que
OriginalL'auteur Kelsey Abreu
J'ai eu un problème similaire; résolu après à la suite de la solution posté ici par nileshsaikhede
http://forums.asp.net/t/1884400.aspx/1
Tout ce que j'avais à faire était d'ajouter
à ma page principale.
essayé, ne fonctionne pas pour moi 🙁
Cela a fonctionné pour moi!!!
C'est vraiment une mauvaise correction comme il peut ne pas fonctionner dans internet explorer 11, il serait beaucoup mieux pour résoudre le véritable problème lors de l'exécution en mode standard.
oui, la meilleure option est de résoudre le vrai problème, si vous avez le temps et il y a une solution. J'ai trouvé ce heures avant le déploiement et la gestion ne voulais pas me retarder le déploiement, et je ne pouvais pas trouver une solution pour mon problème. C'est juste une autre solution rapide.
OriginalL'auteur Alex Z
Je figure sur l'une des options. J'ai modifié le
MicrosoftAjax.js
etMicrosoftAjax.debug.js
fichier pour l'arrondi de la valeur de point avant de retournerSys.UI.Point
pour tous les domaines - voir ci-dessous.J'ai référencé fichier js modifié à l'aide de l'option de Script dans ScriptManager code de la page ASPX. C'est comment il est fait.
J'espère que cela aidera d'autres.
OriginalL'auteur Hemendra Shah
si votre utilisation d'internet explorer
appuyez sur ALT
sélectionnez Outils -----> Affichage de Compatibilité -------> ajouter votre site web pour être affiché dans la Compatibilité.
espérons qu'il saura vous aider.
OriginalL'auteur Vijay B Kale