Я заметил, что мой SWF-файл AS2, который я загружаю в SWF-файл AS3 с помощью SWFBridge, иногда не загружается. Обычно я загружал страницу несколько раз, и она работала нормально, а иногда не загружалась. Когда я выхожу из Safari и перезапускаю его, он снова работает. Я не заметил, чтобы это происходило на ПК с Windows, но только на Macbook OSX как в Safari, так и в Mozilla.

Я еще не занимался реальной отладкой, но есть ли у кого-нибудь какие-либо выводы?

Благодарность

0
undefined 28 Ноя 2009 в 01:11

2 ответа

Это долгий путь, но мне интересно, сжимает ли ваш сервер SWF-файлы, и они в какой-то момент повреждаются или неправильно распаковываются на Mac? Если можете, убедитесь, что ничего не архивируется ни сервером, ни тем, что вы используете для публикации SWF-файлов.

Я видел похожую проблему, когда сжатые файлы, обслуживаемые Apache, не будут отображаться на стороне клиента... возможно, потому, что Apache отказывается отправлять заголовок Content-Length для сжатых данных. Я думаю, что проблема Apache заключается в том, что он не знает, должна ли Content-Length отражать длину потока данных или несжатых данных, и предполагает, что клиент может сделать другое предположение. OS X может зависеть от этого заголовка.

0
Dolph 4 Дек 2009 в 06:02
Приведет ли это к тому, что иногда он загружается нормально, а иногда не загружается? В большинстве случаев все работает нормально, но иногда не загружается. Большое спасибо за предложение, я проверю, что сжимается.
 – 
undefined
4 Дек 2009 в 15:48
Конечно, если что-то делает передачу ненадежной. Люблю свое имя пользователя, кстати.
 – 
Dolph
4 Дек 2009 в 18:05
Спасибо :) Я подумал, что это хорошее имя пользователя! я фактически обслуживаю swfs с сервера Windows iis 6, а не с apache, может ли это быть причиной?
 – 
undefined
5 Дек 2009 в 00:27
Я бы предположил, что нет. Проблема, с которой я знаком, очень специфична для Apache. Это все еще может быть поврежденный перенос, но, вероятно, это вызвано чем-то другим. Скорее всего, это проблема, изолированная внутри флеш-плеера/браузера, тем более что «внешний» SWF загружается постоянно. Я бы сначала искал исправления или, возможно, известные проблемы с задействованными клиентскими продуктами. Надеюсь, кто-то еще здесь видел эту конкретную проблему.
 – 
Dolph
5 Дек 2009 в 02:03

Если я неправильно понимаю ваше объяснение, и иногда оно не работает при первой загрузке в браузер, вы, вероятно, можете это исключить.

Сначала проверьте, кешируется ли он в браузере и каковы настройки кеша в проблемном браузере. Попробуйте изменить эти настройки, чтобы увидеть, имеет ли значение кеширование. Если вы видите, что это каким-то образом связано с проблемами кэширования в этих браузерах, вы можете предпринять шаги, чтобы предотвратить кэширование swf. Есть несколько способов сделать это.

Причина, по которой я подозреваю, что проблема в кеше браузера, заключается в том, что вы сказали, что он работает при перезапуске браузера, а не при перезапуске сервера. Если бы он не кэшировался, он, вероятно, не работал бы один раз, а затем работал бы в следующий раз без перезапуска браузера. Хотя вполне возможно, что у вас другая проблема.

0
Jarrett Widman 9 Дек 2009 в 05:36
Спасибо, пробовал чистить кеш браузера, не помогло. Я думаю, что это должно быть как-то связано с именем соединения, которое использует swfbridge, возможно, если я попытаюсь очистить кэш этого имени переменной, я буду каждый раз создавать новое соединение.
 – 
undefined
10 Дек 2009 в 13:50
Возможно, вы можете просто добавить бессмысленный идентификатор в строку запроса для каждого запроса, чтобы адрес был достаточно другим, чтобы вызвать это. Удачи.
 – 
Jarrett Widman
10 Дек 2009 в 21:09