Как получить доступ к строке запроса в скрипте flash action 3.0? - PullRequest
1 голос
/ 22 февраля 2010

В as2 было очень легко получить доступ к строке запроса, просто используя _root, но, похоже, это не работает на as3.

<embed src="loaderInfoExample.swf?a=123" quality="high" bgcolor="#0000ff" width="250" height="50" name="loaderInfoExample" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />

Как мне получить доступ к значению? Я пробовал это с _root так же, как во Flash-клиенте пробовал это: -

userNameTextField.text=root.loaderInfo.parameters.a;

Но оба, похоже, не работают. В чем может быть проблема?

Ответы [ 3 ]

2 голосов
/ 22 февраля 2010

должно работать. Попробуйте использовать SWFObject для правильного включения флэш-содержимого и передачи параметра в виде flashvars part.

Btw. Вы также должны добавить некоторую подпрограмму проверки, чтобы убедиться, что root.loaderInfo.parameters.a не null, потому что присвоение null атрибуту text TextField вызывает ошибку.

1 голос
/ 25 июня 2010

смотрите ниже в автоматически сгенерированном коде, вам нужно добавить туда FlashVar, чтобы он работал

<script language="JavaScript" type="text/javascript">
 AC_FL_RunContent(
  'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
  'width', '550',
  'height', '400',
  'src', 'deleteme',
  'quality', 'high',
  'pluginspage', 'http://www.adobe.com/go/getflashplayer',
  'align', 'middle',
  'play', 'true',
  'loop', 'true',
  'scale', 'showall',
  'wmode', 'window',
  'devicefont', 'false',
  'id', 'deleteme',
  'bgcolor', '#ffffff',
  'name', 'deleteme',
  **'FlashVars', 'tester=test',**
  'menu', 'true',
  'allowFullScreen', 'false',
  'allowScriptAccess','sameDomain',
  'movie', 'deleteme',
  'salign', ''
  ); //end AC code
</script>
0 голосов
/ 22 февраля 2010

Попробуйте сделать это, когда ваш фильм по крайней мере инициирован ,

например:

this.loaderInfo.addEventListener(Event.INIT, paramsReady);

function paramsReady(event:Event):void{
userNameTextField.text=this.loaderInfo.parameters.a;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...