Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Safari обрывает (убивает) loadSound (http://www.flasher.ru/forum/showthread.php?t=152496)

gorden 18.03.2011 17:04

Safari обрывает (убивает) loadSound
 
Привет! Есть простой мувик с loadSound (streaming вариант) встроенный в HTML страницу, проигрывающий mp3.

Если mp3 файл еще не загружен полностью и мы начинаем нажимать на ссылки для загрузки файлов (без перезагрузки страницы) или ходить по истории в браузере по якорям # (кнопки вперед/назад) так же без перезагрузки страницы, то Safari обрывает loadSound и MP3 не подгружается полностью.

Эту проблему я обнаружил только в Safari. Пробовал засовывать мувик в iframe - не помогло. Предполагаю, что Safari убивает любой load процесс во Flash-е при таких условиях.

Подскажите pls. как решить проблему.

mooncar 18.03.2011 19:32

Цитата:

Сообщение от gorden (Сообщение 981587)
мувик

Ролик, не мувик. Мувик - это символ класса MovieClip.
Цитата:

Сообщение от gorden (Сообщение 981587)
мы начинаем нажимать на ссылки для загрузки файлов

Какие ссылки, где?

Вы бы ссылку дали на эту страницу, и всё бы стало ясно.
А вообще при переходах в хистори браузера (то есть при загрузке другого URL) загрузка звука и должна обрываться.

gorden 18.03.2011 20:02

Sorry, не мувик а ролик - вы правы.

Сейчас не могу дать живой пример на сайт - делаю локально. Попробую описать яснее:

На странице HTML есть якоря (anchors) - метки, кому как удобнее называть. Например в коде HTML в начале страницы есть якорь <a name="top">, а внизу страницы <a href="#top">Вверх</a> нажимая на которую попадаем вверх страницы. Так вот. При нажатии на ссылку "Вверх", в адресной строке браузера к URL добавляется "#top" и это записывается в историю браузера как посещенный URL. Таких якорей на странице может быть много и посетитель часто использует кнопки Back/Forward в браузере для возврата или для движения вперед/назад по якорям. При этом браузер не загружает другой URL а только происходит перемещение по документу в окне браузера.

Так вот, в этой ситуации при нажатии Вперед/Назад (опять же, страница не перезагружается - ходим по якорям) Safari убивает loadSound не дав MP3 загрузиться до конца. MP3 все еще воспроизводится, но только до того места где произошел обрыв loadSound. Т.е. получается сам ролик не страдает и работает, только убивается loadSound. Все остальные браузеры отрабатывают нормально.

mooncar 18.03.2011 20:34

Цитата:

Сообщение от gorden (Сообщение 981656)
При этом браузер не загружает другой URL

Формально для браузера это в общем-то это уже другой URL, поскольку полный адрес состоит домена, страницы плюс якорь на странице. Но видимо все браузеры, кроме Сафари, относятся к параллельной загрузке лояльно. Надо искать другие пути решения (например, использовать фреймы).

gorden 18.03.2011 20:40

Цитата:

Сообщение от mooncar (Сообщение 981664)
например, использовать фреймы.

Спасибо за ответ mooncar. Я пробовал iframe. - тот-же результат. Но я этот iframe просто внутрь страницы вставлял. Наверное неправильно делал. Можете подсказать как можно организовать это фреймами? Хотя бы схематично.

mooncar 18.03.2011 21:19

Флешка, где загружается звук, должна оставаться на странице, которая не перезагружается, а контент - во фрейме. Это общее соображение. А реализация уже зависит от того, что вы делаете.


Часовой пояс GMT +4, время: 22:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.