Форум 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)
-   -   Проверить в Action Script, включен ли JavaScript. (http://www.flasher.ru/forum/showthread.php?t=116044)

FDS 18.09.2008 17:01

Проверить в 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.

Obi 23.09.2008 17:28

Возможно swfobject криво в IE работает.

Smouck 23.09.2008 18:05

Если вся проблема только в ссылках, то мне кажется запросто поможет modrewrite в .htaccess ... и ни какого гемороя с JS

Psycho Tiger 23.09.2008 19:45

Почему мистика?))
IE издревле был кривым. Как писали на баше:
Цитата:

neon:
Писать на javascript'e - это все равно, что сдавать задачу трем разным преподам одновременно:
Дедушка Огнелис Мозиллович - очень добрый, принимает очень хорошо и забивает на мелкие помарки

Потомственный преподаватель девятого, или, что еще хуже, в восьмом поколении Оперов - сволочь, какая есть в любом учебном заведении - придирается к каждому понятному и не понятному символу, причем иногда сам пишет что-то в твое решение красной ручкой

А Инет Эксплорерович вообще имеет привычку читать решение жопой, а потом хрен поймешь, где именно его жопе что-то не понравилось
Вот и попробуй угодить всем троим...

FDS 29.09.2008 16:25

Obi
в том-то и дело, что глючит вариант, когда JS отключен, а значит swfobject тут не при чем.
Smouck
modrewrite в .htaccess не поможет, поскольку переходы осуществляются аяксом, и тут без JS никуда.
то есть, проблема однозначно в ActionScript...
всем большое спасибо за версии.


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

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