Форум 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)
-   -   Изменение BGCOLOR из Flash-ролика (http://www.flasher.ru/forum/showthread.php?t=124824)

Amiora 09.05.2009 23:23

Изменение BGCOLOR из Flash-ролика
 
У меня возникла проблема и я никак не могу понять, что не так.
У меня есть ролик с менюшкой на черном фоне, html документ соответственно имеет черный цвет фона. При переходе на другую сцену в ролике меняется цвет фона не белый, я соответственно хочу, чтобы и html документ тоже менял цвет фона.
Я чего уже только не делала!!!
Вариант 1:
Прописывала и на кнопках:
Код AS1/AS2:

on (release) {
        getURL ("javascript:changeBgColor('#ff0000')");
}

в документ:
Код:

<script type="text/javascript">
<!--
function changeBgColor(newBgColor) {
 if (window.document && window.document.bgColor) {
  document.bgColor = newBgColor;
 }
}
-->
</script>

Вариант 2:
Во флеш:
Код AS1/AS2:

ExternalInterface.call("changeBG", "#FF0000");

В документ:
Код:

function changeBG(color) {
                document.bgColor = color;
            }


Оно не работает! Что я делаю не так.... :eek::(
Просто написать
Код AS1/AS2:

getURL("javascript:document.bgColor='#000000");

тем более не помогает... ПОМОГИТЕ!!! Не хочу делать сто роликов на каждую галерею!

Mnilionic 09.05.2009 23:31

Код:

document.getElementsByTagName('body')[0].style.backgroundColor = 'blue'

Amiora 09.05.2009 23:51

Mnilionic, спасибо!
Не сочтите меня совсем блондинкой, я еще только учусь, но куда это писать, это же ведь JS? :rolleyes::rolleyes::rolleyes:
Или нет?
Переношу как есть на первый кадр второй сцены... не меняется ничего... :mad: Я что-то не то делаю видимо...

Эксперементирую...
В отдельном файле функция
Код:

function bgchange_art(){
document.bgColor = "#ffffff";
}

работает отлично, но из ролика не вызывается, ничего не происходит...
Код AS1/AS2:

getURL("javascript:bgchange_art()");


Mnilionic 09.05.2009 23:59

flash
Код AS1/AS2:

getURL("javascript:change_bg('blue')");

js
Код:

function change_bg(clr){
    document.getElementsByTagName('body')[0].style.backgroundColor = clr;
}


Amiora 10.05.2009 00:24

Спасибо... я вижу что должно работать, но оно не работает... оно и прежними способами, что я в первом посте написала, было должно работать... но почему-то не работает!!! :mad::mad::mad:
Что делать я не знаю...

Mnilionic 10.05.2009 00:34

на локальном компьютере не будет работать. Заливайте на сервер и там тестируйте. А лучше эмулируйте сер на своем компе Денвером или ксампом, например.

flash33 10.05.2009 00:37

А почему сразу не апачом?

Amiora 10.05.2009 12:00

Cтоит у меня Апач. Сейчас попробую. Я AS не изучала, только JS, ну они похожи - не знала, что необходим сервер для обработки.
Спасибо вам большое, буду тестить.

Stargazer 10.05.2009 12:29

А что будет, если поставить alert внутри js-функции? Вызывается?

Amiora 10.05.2009 12:35

:eek:
На компе Апач работает, а цвет фона не меняется!!!
Залила на сервер... заработало!
Спасибо!!!
Только теперь вопрос, что с моим Апачом... почему ничего не происходит... но это уже другой вопрос.

Добавлено через 1 минуту
Цитата:

Сообщение от Stargazer (Сообщение 818758)
А что будет, если поставить alert внутри js-функции? Вызывается?

Сам по себе JS работает шикарно...все меняется.
Но когда я вызываю его с помощью AS, не работает на моем виртуальном сервере... заработало только когда залила к себе на сайт. Это очень странно. PHP то обрабатывается! Подскажите, для связки AS-JS непременно всегда нужен сервер, да?
Это приятно, что не в коде было дело, а то я всегда на какой-нибудь ерунде ошибаюсь. Это знаний не хватает.

Stargazer 10.05.2009 13:42

Цитата:

Сообщение от Amiora (Сообщение 818759)
Подскажите, для связки AS-JS непременно всегда нужен сервер, да?

да.

Цитата:

Только теперь вопрос, что с моим Апачом... почему ничего не происходит..
вы действительно обращаетесь к вашему хтмл через веб-сервер? в адресной строке (когда тестируете) должно быть написано либо localhost, либо 127.0.0.1 (если вы не меняли настройки сервера).

Mnilionic 10.05.2009 13:51

мало запустить апач на компе. Нужно запустить html страницу с вашей флешкой с виртуального хоста.

Amiora 11.05.2009 14:04

Слушайте, ну я не совсем идиот :D Хотя такое впечатление может сложиться :p Я сама ставила Апач и сама настраивала. Я же пишу - php обрабатывается! Пойду читать конфигурационный файл... что еще остается.

Mnilionic 11.05.2009 16:02

в адресной строке броузера что?

Amiora 11.05.2009 16:25

Естессно //localhost/
Я видимо все-таки произвожу впечатление идиота :confused:
Ну это ничего страшного, у меня еще много идиотских вопросов :D

Mnilionic 11.05.2009 16:32

нужен http:// префикс, чтоб флеш разрешил запуск js

Amiora 11.05.2009 19:12

У меня так и есть, я убрала тут, чтобы не преобразовывалось в ссылку. Я же говорю, что не в этом дело. Запускаю я все правильно.


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

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