2008-10-08 7 views
-1

Пожалуйста, взгляните на html, указанный ниже, и дайте мне знать, почему IE6 зависает при попытке загрузить удаленный сценарий (находится в 'http://code.katzenbach.com/Default.aspx'). Сценарий возвращает JSONP и выполняет функцию callbackFunction, указанную в заголовке. Когда он будет работать правильно, вы увидите всплывающее предупреждение с номерами 1-500. Это отлично работает в FF3 и IE7. Я не могу понять, почему он не работает в Internet Explorer 6 - процессор получает привязанность и все зависает.Почему этот удаленный сценарий вызывает зависание IE6?

Запустите его самостоятельно и сообщите мне, если у вас возникнут те же проблемы. Я весь день смотрю на эту проблему. Спасибо за вашу помощь.

Эндрю

<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> 

ответ

0

Если вы перейдете непосредственно к скрипту (http://code.katzenbach.com/Default.aspx?callback=callbackFunction&test=true&c=500), вы увидите, что файл (неизвестный тип mime) не обрабатывается. Вероятно, это связано с проблемой настройки сервера. Кажется, он не знает, как обрабатывать .aspx и вместо этого пытается выгрузить файл.

0

возвращенного из внешнего скрипта:

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"]) 

Почему вы хотите, чтобы предупредить это?
Какая проблема вы пытаетесь решить?

+0

Это был мой самый простой тест, чтобы продемонстрировать проблему, с которой я столкнулся. Я на самом деле использую удаленный скрипт для чего-то другого. Вы заметите, что если вы сократите счет до 10, он будет работать (c = 10) – anschoewe 2008-10-08 22:44:47

+0

, пожалуйста, попробуйте ответить на эту проблему, а не разобрать пример! очевидно, что каждый ставит тривиальный пример своей проблемы, чтобы люди могли понять это легче. – nickf 2008-10-09 02:05:46

+0

@nickf: Я не пытаюсь оскорбить. И нет - не очевидно, что все заглушают свой код. Не для меня, по крайней мере. – roosteronacid 2008-10-09 10:04:12

2

Я взглянул на Fiddler и IE6 и не смог увидеть ничего необычного (кроме того, что он замораживает браузер).

Запрос на http://code.katzenbach.com/Default.aspx?callback=callbackFunction&test=true&c=500 делает получение и возвращает 2909 байт.

Я хотел бы предложить три вещи:

  1. Удалите одну из полуосей двоеточия из вашего Content-Type: application/json;; charset=utf-8 или, возможно, удалить обе точку с запятой и charset=utf-8 целиком (только для тестирования)
  2. Send символ новой строки после завершения отправки окончательного ) из callbackFunction
  3. Измените его на Content-Type: text/javascript, потому что вы действительно возвращаете Javascript для браузера, а другой тип содержимого может вводить в заблуждение IE6 (хотя это очень маловероятно).

Я думаю 1. Скорее всего. В IE6 может быть ошибка синтаксического анализа, которая заставляет ее перейти в бесконечный цикл, когда он сталкивается с двумя полуколонами. Потому что в противном случае просто нет причин, почему то, что вы делаете, не должно работать.

Возможно, было бы целесообразно попробовать другой тип MIME в качестве теста.