Показать сообщение отдельно
Старый 15.08.2012, 13:53
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Почему у вас в <object> имя флешкиного объекта
Код:
<param name="movie"
а в <embed>
Код:
name="Flash_JS"
?

Сделайте тогда тоже movie, иначе в разных браузерах флешкин объект в DOM-струкутре по разному поименуется, и JS-код для управления не везде сработает.

2. Как работает ExternalInterface.addCallback ?
Рассмотрим вашу запись:
Код AS1/AS2:
ExternalInterface.addCallback('sendFromJS', null, recieveFromJS);
Здесь вы регистрируете на HTML-странице для флешкиного объекта JS-метод по имени sendFromJS, при вызове которого из JS:
Код:
document.getElementById('movie').sendFromJS();
внутри флешки вызовется ее функция recieveFromJS.
Создайте такую функцию во флеше и пусть она будет делать то, что надо, например, останавливать плеер:
Код AS1/AS2:
function recieveFromJS()
{
 //некие действия по остановке плеера
}
То есть вот это
Код:
window.document.movie.stop()
не имеет никакого смысла в данном контексте.
И имя функции sendFromJS()
Код:
<script>
function sendFromJS() {
  ...
 }
</script>
желательно изменить, чтобы оно не совпадало с именем метода флешки sendFromJS(). Во избежании путаницы.
Лучше как-то так:
Код:
<script>
function manageFlash() {
   document.getElementById('movie').sendFromJS();
 }
</script>
и тогда
Код:
<input type="button" id="button" value="стоп Flash" onclick="manageFlash()" />
---------------
3. Есть еще одно соображение. Меня все же смущает ваша запись
Код:
window.document.movie.stop()
Просто в AS1/2 есть встроенный метод stop(), который останавливает текущий таймлайн.
Такое ощущение, что вы используете какой-то готовый плеер, в котором определен заказной метод stop(). Нехорошо это - в ряде случаев возможен конфликт, и даже я слышал о таком, если мне не изменяет память. Хотя метод объекта DOM-структуры (в роли которого выступает флешка) и встроенный метод внутри той же флешки - это разные вещи, какой-то браузер вроде бы тупил из-за этого.

PS. К "Серверным технологиям" контекст вашего вопроса отношения не имеет, это все взаимодействия на стороне клиента, то есть в браузере. Но путь пока тема будет здесь.
__________________
Идите первым!


Последний раз редактировалось mooncar; 15.08.2012 в 14:19.