Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   GetVariable не работает под FireFox (http://www.flasher.ru/forum/showthread.php?t=119225)

Vodan 15.12.2008 16:36

GetVariable не работает под FireFox
 
Пишу расширение, которое должно взаимодействовать с флешками. Столкнулся с тем, что GetVariable всегда возвращает null. При этом SetVariable работает замечательно.
Попробавал читать переменные не из расширения, а просто из JS на страничке - теже грабли. Под IE все работает нормально, но мне-то нужен FF...

wvxvw 15.12.2008 19:32

Не должно работать ни там и ни там если речь идет о АС3. Смотрите справку по ExternalInterface.

Vodan 15.12.2008 19:45

Мне нужен доступ к произвольной флешке, содержимое которой я менять не могу, поэтому ExternalInterface - мимо меня.

7thsky™ 16.12.2008 01:10

А код можно посмотреть? так у меня все работает как часы.

Vodan 16.12.2008 01:22

в расширении:
Код:

var swf = gBrowser.selectedBrowser.contentDocument.getElementById('swf').wrappedJSObject;
var val = swf.GetVariable("_root");

Просто JS:
Код:

<img src="smile.gif" width="41" height="32" onclick="alert(document.getElementById('swf').GetVariable("_root"))" />
FF 3.0.4
Flash 10.0.12.36

swf - точно флешовый объект, ибо SetVariable работает без проблем, а в IE и GetVariable работает.

etc 16.12.2008 13:28

_root нет в AS3.

Vodan 16.12.2008 17:56

Под IE код работает, во программе, которая использует флешку - работает, ибо там используется IE в качестве контейнера. А под FireFox не работает.

wvxvw 16.12.2008 23:18

Вопрос в другом, как вы собирались до переменной добираться в АС3? Где вы ее в АС3 так сможете объявить, чтобы GetVariable смог ее увидеть?

Vodan 17.12.2008 00:01

Я так поковырялся и у себя и по интернетам, в общем вопрос возможно не к AS как таковомму, сколько к флешовому объекту, так как не работает получение переменных и во флешках с AS2. На сайте адоба есть пара древних тем с такой же проблемой (GetVariable возвращает null под FireFox), но к сожаленю без ответа...
http://www.adobe.com/cfusion/webforu...d1=GetVariable

Vodan 17.12.2008 00:43

Вложений: 1
Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>SWFObject dynamic embed - step 3</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="swfobject.js"></script>

    <script type="text/javascript">
    swfobject.embedSWF("swf.swf", "swf-container", "550", "400", "9.0.0");
    </script>

  </head>
  <body>
    <div id="swf-container">
      <p>Alternative content</p>
    </div>
    <br/>
    <a href="#" onclick="alert(getElementById('swf-container').GetVariable('_root.txt.text'))">GetVariable</a>
    <br/>
    <a href="#" onclick="getElementById('swf-container').SetVariable('_root.txt.text', 'что-то')">SetVariable</a>
  </body>
</html>

под IE работает, под FF, Opera, Chrome - нет.
Флешка простейшая - на ней текстовое поле, содержимое которого собираюсь менять/читать.

p.s. Возможно эту тем надо перенсти в другую ветку.. например в HTML/DHTML/CSS/JS/VB


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

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