2008-10-08 6 views
-1

S'il vous plaît jeter un oeil à la html énumérés ci-dessous et laissez-moi savoir pourquoi IE6 se fige lorsque vous essayez de charger le script à distance (situé à 'http://code.katzenbach.com/Default.aspx'). Le script renvoie JSONP et exécute le 'callbackFunction' répertorié dans l'en-tête. Quand il fonctionne correctement, vous verrez une alerte pop-up montrant les numéros 1-500. Cela fonctionne très bien dans FF3 et IE7. Je ne peux pas comprendre pourquoi il échoue dans Internet Explorer 6 -le processeur est indexé et tout se bloque.Pourquoi ce script à distance bloque-t-il IE6?

Exécutez-le vous-même et faites-moi savoir si vous rencontrez le même problème. J'ai regardé ce problème toute la journée. Merci de votre aide.

Andrew

<html> 
<head> 
    <script type="text/javascript"> 
    function callbackFunction(Result) 
    { 
     alert(Result) ; 
    } 
    </script> 
    <script type="text/javascript" src="http://code.katzenbach.com/Default.aspx?callback=callbackFunction&test=true&c=500"></script> 
</head> 
<body> 
Here 
</body> 
</html> 

Répondre

0

Si vous allez directement au script (http://code.katzenbach.com/Default.aspx?callback=callbackFunction&test=true&c=500), vous verrez que le fichier (type MIME inconnu) n'est pas en cours de traitement. Cela est probablement dû à un problème avec la configuration de votre serveur. Il ne semble pas savoir comment traiter .aspx et essayer plutôt de diffuser le fichier.

+0

Je ne suis pas sûr de suivre. Ceci est un projet asp.net. Il crée une chaîne de nombres et l'envoie à partir de la page code-behind. Response.ContentType = "application/json;"; chaîne s = jsonpCallback + "(" + ser1.Serialize (results) + ")"; Response.Write (s); Response.Flush(); Response.Close(); – anschoewe

+0

Ah, j'essayais de le scoop en HTML, juste pour voir ce qu'il renvoyait. En général, je ne code pas en application/json pour faciliter le débogage. –

0

Le retour est du script externe est:

callbackFunction(["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499"]) 

Pourquoi voulez-vous d'alerter cela?
Quel problème tentez-vous de résoudre?

+0

C'était mon test le plus simple pour démontrer le problème que je rencontrais. J'utilise en fait le script distant pour autre chose. Vous remarquerez, si vous raccourcissez le compte à 10, cela fonctionne (c = 10) – anschoewe

+0

s'il vous plaît essayez de réellement répondre au problème plutôt que de séparer l'exemple donné! De toute évidence, tout le monde affiche un exemple trivial de leur problème afin que les gens puissent le comprendre plus facilement. – nickf

+0

@nickf: Je n'essaie pas d'être offensant. Et non - ce n'est pas évident que tout le monde baisse son code. Pas à moi au moins. – roosteronacid

2

J'ai regardé avec Fiddler et IE6 et j'ai été incapable de voir quelque chose hors de l'ordinaire (outre le fait qu'il gèle le navigateur).

La demande à http://code.katzenbach.com/Default.aspx?callback=callbackFunction&test=true&c=500 est effectuée et renvoie 2909 octets.

Je suggère trois choses:

  1. Retirez un des points-virgules de votre Content-Type: application/json;; charset=utf-8 ou peut-être enlever les deux points-virgules et charset=utf-8 entièrement (juste pour tester)
  2. Envoyer Changez-le en Content-Type: text/javascript parce que vous retournez vraiment du Javascript au navigateur, et l'autre type de contenu pourrait confondre IE6 (bien que ce soit très peu probable).

Je pense que 1. est le plus probable. Il peut y avoir un bug d'analyse dans IE6 qui l'amène à entrer dans une boucle sans fin quand il rencontre deux points-virgules. Parce qu'autrement, il n'y a aucune raison pour que ce que vous faites ne fonctionne pas.

Il peut également être intéressant d'essayer un type MIME différent en tant que test.

+0

J'apprécie les idées réfléchies, mais elles n'ont pas fonctionné. J'ai changé le type de contenu (et supprimé l'extra ';'), mais cela n'avait aucun effet. J'ai aussi essayé de changer (et de supprimer) et de coder les caractères, mais cela n'avait aucun effet. Si vous modifiez le dernier paramètre de javascript src à 100, cela fonctionne. hmmm. – anschoewe