Показать сообщение отдельно
Старый 18.09.2008, 17:01
FDS вне форума Посмотреть профиль Отправить личное сообщение для FDS Найти все сообщения от FDS
  № 1  
Ответить с цитированием
FDS

Регистрация: Nov 2007
Сообщений: 11
По умолчанию Проверить в Action Script, включен ли JavaScript.

Имеется ART CMS, которая открывает странички по аяксу, если включен яваскрипт, и нормальным образом, если отключен.
Для организации меню на flash необходимо знать, включен ли JavaScript у пользователя, и в зависимости от этого формировать разные URL ссылок:
вида "www.site.ru/#p2", если JavaScript включен, и
вида "www.site.ru/p2.html", если выключен.
Как это определить?
Встроенных средств в Action Script не нашли. Решили поступить так: при помощи swfobject (который написан на JavaScript) передавать переменную во флэш.
Если переменная видна - значит, JavaScript включен, если не видна - выключен.

Код:
<script type="text/javascript">
var flashvars = {
name1: "1"
};

var params = {};
var attributes = {};
    swfobject.embedSWF("/index.swf", "myContent", "100%", "797", "8.0.0","expressInstall.swf", flashvars, params, attributes);
    </script>
Вот таким образом пытаемся ловить это в Action Script:
Код:
on(release){
	if(_root.name1 == 1){
		getURL('#p2', '_self');}
		else{
			getURL('www.site.ru/p2.html', '_self');
		}
}
А дальше начинается вообще мистика - данный код отлично работает в Firefox, но в Opera и IE не работает! Причем неработает именно та часть, когда яваскрипт выключен и переменная не приходит флэш грузится, но перехода по ссылке просто не происходит. При включенном - все нормально.
Было подозрение, что надо как-то проверять, определена ли переменная, и без такой проверки интерпретатор останавливается... Но в Firefox же работает!
Версия плеера во всех браузерах одинакова - 9.