Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.02.2009, 15:29
rxcoder вне форума Посмотреть профиль Отправить личное сообщение для rxcoder Найти все сообщения от rxcoder
  № 1  
Ответить с цитированием
rxcoder

Регистрация: Jan 2009
Сообщений: 19
По умолчанию SWFobject + fscommand + IE

Здравствуйте, может подскажете, в чем у меня ошибка.
Проблема собственно вот в чем:
1. Вставляем флешку на страницу с помощью SWFobject
2. Передаем ей переменную "ping"
3. флешка её принимает и передает обратно fscommand('ping','')

это я рабочий пример упростил, чтобы понятней было. В опере и фаерлисе всё работает как положено, а в IE нет. В чем причина, не пойму. Поиск ничего дельного не дал.
Вот код флешки:
Код AS1/AS2:
var command:String = null;
_root.onEnterFrame = function() {
	if(_root.command=='ping'){
		fscommand('ping','');
		_root.textfield.text='pong';
	}
	_root.command = null;
}
вот HTML/JS

Код:
<html><head><title>ping</title>
<script type="text/javascript" src="../swfobject.js"></script>
</head><body>
<script language="JavaScript">
// ждем комманду от флешки
function ping_DoFSCommand(command, args){
	alert(command);
}
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
	document.write('<script language=\"VBScript\"\>\n');
	document.write('On Error Resume Next\n');
	document.write('Sub ping_FSCommand(ByVal command, ByVal args)\n');
	document.write('	Call ping_DoFSCommand(command, args)\n');
	document.write('End Sub\n');
	document.write('</script\>\n');
}

function getMovie() {
        var M$ =  navigator.appName.indexOf("Microsoft")!=-1
        return (M$ ? window : document)["ping"]
}

// отправка комманд флешке
function send_command(command){
	getMovie().SetVariable('command',command);
}

// вставляем флешку SWFobject'ом
var flashvars = false;
var params = {
	menu: 'false',
	flashvars: '',
	allowScriptAccess: 'sameDomain',
	quality:'high',
	bgcolor:'#000000',
	allowFullScreen:'true',
	align:'middle',
	nocache:'true'
};
var attributes = {
	id: 'ping',
	name: 'ping',
	align: 'middle',
	nocache:'true'
};
swfobject.embedSWF('ping.swf', 'container', 50, 50, '8.0.0','../expressInstall.swf', flashvars, params, attributes);

</script>
<div id='container'>PING</div>
<input type='button' value='PING' onclick='send_command("ping");' />
</body></html>
здесь по идее должно после нажатия кнопки отправиться сообщение флешке, а она ответить. но в ответ тишина...

Добавлено через 13 минут
Вобщем вся загвоздка в том, что в IE, флешка не может передать комманду fscommand()

Создать новую тему   Часовой пояс GMT +4, время: 01:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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