Форум 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)
-   -   Передача переменных JavaSript'ом во флеш в FireFoxe? (http://www.flasher.ru/forum/showthread.php?t=75143)

Mironoff 06.02.2006 14:49

Передача переменных JavaSript'ом во флеш в FireFoxe?
 
Добрый день. Есть ли какая-нибудь технология передачи значений переменных из html-страницы во флеш, но так, чтоб работало в FireFoxe? Сразу можно уточнить: метод FlashVars не подходит, т.к. передает значения только один раз, соответственно и другие методы такого плана, в том числе и с перезагрузкой окна или фрейма с флешом. подскажите - есть ли какя-либо функция, аналогичная SetVariable, но которая работает в FireFoxe? На форуме рассматривались много подобных тем, но ни одна из них не работает под firefoxom - а это очень критично...

Nox Noctis 06.02.2006 16:41

Цитата:

Сообщение от Mironoff
На форуме рассматривались много подобных тем, но ни одна из них не работает под firefoxom - а это очень критично...

SetVariable работает в фаерфоксе.

твоя ошибка в джаваскрипте а не во флэше :)

вероятнее всего, ты используешь getElementById чтобы получить линк на флэшку на странице. для фаерфокса это работает не так как для эксплорера: эксплорер дает линк на плагин, а фаерфокс дает линк на объект на странице, который содержит плагин. поэтому SetVariable уходит не туда.

вот это работает как надо:
Код:

// javascript:

function getElement (id) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return document.all[id];
    }
    return document[id];
}

var swfObj = getElement("swf_id");
swfObj.SetVariable("varname", ...);


Antares 06.02.2006 19:28

4000хтысячный есть ;)

Nox Noctis 06.02.2006 19:30

ага, можно закругляться :)

Mironoff 07.02.2006 16:11

Спасибо, я понял. Просто FireFox ругался на SetVariable - говорил, что это не является функцией. Большое спасибо.

baca13 27.03.2006 10:48

У меня фокси по-прежнему ругается на то что SetVariable не является функцией, без разницы как ей передавать флешку - document[id] или document.all[id]
хотя объекты она получает разные при этом
:(
Не могу ничего с этим поделать...

Nox Noctis 27.03.2006 14:45

проверяй.

тест метода SetVariable: http://noregret.org/tutor/navigation...tvariable.html
в ФФ проверено.

делаю следующее:

Код:

// опера может притворяться ИЕ...
var opera = Boolean(window["opera"]);
// ИЕ или не ИЕ, вот в чем вопрос
var MSIE = checkBrowser("microsoft") && !opera;

// функция для получения ссылки на флэшовый элемент на странице
function getFlashElement (id) {
    return MSIE ? window[id] : document[id];
}

function test () {
    var flash = getFlashElement("flash");
    flash.SetVariable("test", "hey ho!");
}


ambuddy 06.04.2007 16:26

http://noregret.org/tutor/navigation...tvariable.html
Этот пример у меня не работает? В чем причина? Версия foxa 2.0.0.3. Может из-за того что новый больно?

etc 06.04.2007 16:34

Все работает в FF этой версии. Только что проверил.
Ссылку нужно нажимать, а не выделять, копировать и вставлять в адресную строку.

Kikasso 06.04.2007 16:46

Все работает в FF. Вся трудность с getElementById в том, что одному надо броузеру надо достучаться до object, а другому до embed, а id должен быть уникальным. То есть либо определять броузер, либо использовать flash satay или swfobject, тогда id останется только один.
Код:

var so = new SWFObject( "headers/header.swf" , "welcome", "733", "157", "8", "#FF7E00");
..и getElementById работает нормально.


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

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