si vous ouvrez la page: http://www.rhino.com/shop/product/the-monkees-the-birds-the-bees-the-monkees-boxed-set vous verrez au bas de la page, un bouton suivant et précédent, ce sont des boutons de navigation, ils fonctionnent très bien dans firefox mais c'est à dire le style est retiré de la page quand ils sont cliqué!. veuillez donner des conseils sur ce qui pourrait être la cause du problème. Je l'ai déjà passé des heures de débogage :(comment réparer erreur javascript dans ie7/8?
Répondre
Quand je debug sur IE8, je vois une erreur d'exécution ici:
cd=new Date();
Très probablement cela ne concorde pas avec ce morceau de HTML:
<li id="cd" class=""><a href="#productInfo-cd">CD</a></li>
IE "utilement" lance des éléments avec un identifiant comme variables globales Donc cd
est un élément <li>
, et IE ne l'aime pas si vous lui attribuez new Date()
, ce serait parfaitement bien si IE traitait cd comme un normal variable locale capable, mais pas, d'où l'erreur d'exécution.
Ce code est à l'intérieur d'une fonction anonyme qui est vraiment méchante (voir ci-dessous). Mais la solution est simple: il suffit d'écrire les fonctions appropriées et de déclarer vos variables. Si la fonction anonyme aurait utilisé une ligne dans le top déclarerait des variables comme celui-ci:
var cd, dc, ...other variable names... ;
il aurait travaillé très bien, parce que la variable cd
dans la fonction aurait englobé la variable locale, et non mondial cd
élément qui selon IE fait référence à l'élément li
avec id="cd"
.
Maintenant, il est tout à fait possible que ce n'est qu'un des nombreux problèmes avec cette page. Mais je suppose que la première erreur rencontrée par IE a arrêté l'exécution du reste de votre script, ce qui explique pourquoi certaines d'entre elles n'ont pas fonctionné.
function anonymous(t, z, y) {
dc=new Date('1/1/2000');f=15;ne=8;
if(dc.getDay()!=6||dc.getMonth()!=0){
return'Data Not Available'
}else{;
z=parseInt(z);
if(y=='2009'){f=8;ne=1};
gmar=new Date('3/1/'+y);
dsts=f-gmar.getDay();
gnov=new Date('11/1/'+y);
dste=ne-gnov.getDay();
spr=new Date('3/'+dsts+'/'+y);
fl=new Date('11/'+dste+'/'+y);
cd=new Date();
if(cd>spr&&cd<fl){
z=z+1
}else{
z=z
};
utc=cd.getTime()+(cd.getTimezoneOffset()*60000);
tz=new Date(utc + (3600000*z));
thisy=tz.getFullYear();
var days=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
if(thisy!=y){
return'Data Not Available'
}else{;
thish=tz.getHours();
thismin=tz.getMinutes();
thisd=tz.getDay();
var dow=days[thisd];var ap='AM';var dt='Weekday';
var mint='00';
if(thismin>30){mint='30'}
if(thish>=12){ap='PM';thish=thish-12};
if (thish==0){thish=12};
if(thisd==6||thisd==0){dt='Weekend'};
var timestring=thish+':'+mint+ap;
var daystring=dow;
var endstring=dt;
if(t=='h'){
return timestring}
if(t=='d'){
return daystring};if(t=='w'){return endstring}}};
}
Maintenant, déboguer d'où cela vient est un peu un problème. Mon callstack lit:
anonymous JScript
s_doPlugins JScript
anonymous function JScript
global code JScript
Le premier est où l'erreur réelle se produit.
La racine où tout cela est passe est ici:
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code=s.t();if(s_code)document.write(s_code)
D'une certaine façon, d'ici, s_doPlugins est appelé qui contient l'appel réel à la fonction anonyme qui est à l'origine du problème. Il semble que s_doPlugins
se trouve au s_code.js
. Si je fais un pas à travers cela, je trouve que le problème est dans cette ligne:
s.prop9=s.getTimeParting('h','-5','2008'); // Set hour
qui est la ligne 38 du s_code.js
. Avec un peu plus farfouillé, je trouve qu'il est actuall ce plugin:
/*
* Plugin: getTimeParting 1.3 - Set timeparting values based on time zone
*/
s.getTimeParting=new Function("t","z","y",""
+"dc=new Date('1/1/2000');f=15;ne=8;if(dc.getDay()!=6||"
...more crap here...
Ceci est à la ligne 95 dans s_code.js
Comme une solution rapide, je ne serais probablement commenter tous les appels à s.getTimeParting()
dans s_doPlugins()
dans s_code.js
et voir si cela résout votre problème.Ensuite, le long et dur, mais noble taks reste de sortir quelque chose de sensible de ce gâchis :))
J'ai trouvé cela exaspérant et a découvert que le problème était mon site en utilisant un div avec l'ID "utc", qui se heurte à le s_code JS. 'UTC' est lié au temps, donc je ne peux que supposer qu'il y a du JS bâclé qui se fonde sur quelque chose d'autre s'il est présent!
- 1. Comment réparer mon erreur?
- 2. Comment réparer cette erreur PHP?
- 3. Comment réparer cette erreur ArrayIndexOutOfBounds dans Jama?
- 4. Comment réparer cette erreur générique Java génériques?
- 5. Comment réparer une erreur avec l'ajout d'entiers dans Java?
- 6. Comment réparer une erreur de liaison incohérente dans flex 3?
- 7. Comment réparer cette erreur de coercition implicite dans Flash?
- 8. Comment réparer cette erreur de routage dans Ruby on Rails?
- 9. Comment réparer une erreur fatale dans joomla 1.0?
- 10. Comment réparer une erreur "Début d'expression illégal" dans Java?
- 11. Comment réparer une erreur «non résolue externe» dans l'assembly x86?
- 12. Comment réparer cette erreur d'analyse dans mon code PHP?
- 13. Comment réparer: erreur "NPMethod appelé sur non-NPObject wrapped JSObject"?
- 14. Comment réparer cette erreur inter-domaine ActionScript 3?
- 15. Comment réparer une erreur MySQL "Fichier clé incorrect" lorsque vous ne pouvez pas réparer la table?
- 16. Comment réparer flickering dans IFrames?
- 17. Comment réparer une erreur SSL lorsque vous n'utilisez pas www
- 18. Comment réparer une erreur Python lors de l'importation d'ElementTree?
- 19. Comment réparer cette erreur python de chargement de DLL?
- 20. Comment réparer une erreur de fichier d'en-tête?
- 21. Comment réparer cette erreur de débordement de pile?
- 22. Comment réparer une erreur "ImportError: No module named ..." en Python?
- 23. Comment réparer javascript et raphaeljs fuite de mémoire?
- 24. Comment réparer cette erreur "Le paquet n'existe pas"?
- 25. Que signifie "erreur: redéfinition"? et comment puis-je le réparer?
- 26. Comment réparer « erreur 130 (HY000): format de fichier incorrect »
- 27. Comment réparer cette erreur unicode/cPickle en Python?
- 28. Comment réparer ce script Javascript Validation de formulaire?
- 29. Comment réparer et refactorisons ce script calculatrice JavaScript/JQuery
- 30. Comment réparer l'encodage dans Python Mechanize?
merci pour vos informations, mais où puis-je trouver cette méthode anonyme, dans quelle page? –
@Microgen, ce code est un nid de rat. Mais je vais faire un effort. Je vais mettre à jour ma réponse rapidement: –
merci beaucoup, s'il vous plaît laissez-moi savoir ce que je dois changer pour résoudre ce problème –