Почему мои flashvars ‘undefined’?

#flash #actionscript #actionscript-2

#flash #actionscript #actionscript-2

Вопрос:

Я пытаюсь получить доступ к flashvar в первом кадре, но они всегда не определены. Что я делаю не так?

Внедрить:

 <embed height="300" width="460" FlashVars="config=test" wmode="window" alt=""
 classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" salign="t" allowscriptaccess="always" 
 quality="Autolow" bgcolor="#FFFFFF" name="InteractiveTool" id="InteractiveTool" 
 style="" src="calc_thr_004.swf" type="application/x-shockwave-flash" />
  

ActionScript:

 trace("level0: "   _level0.config);
trace("root: "   root.config);
  

Результатом этого являются:

 level0: undefined
root: undefined
  

Это было разработано в AS2. Как я могу получить значение ‘config’ из flashvar?

Спасибо!

Ответ №1:

Прошло некоторое время с тех пор, как я использовал AS2 или FlashVars, но мне это кажется правильным. Некоторые вещи, которые нужно перепроверить:

  • Находится ли ваш <embed> тег внутри <object> тега, у которого нет параметра FlashVars?
  • Используете ли вы по крайней мере Flash Player версии 6? До этой версии FlashVars не поддерживались.

Любая из этих вещей может привести к тому, что содержимое FlashVars не будет передано на верхний уровень фильма.

Комментарии:

1. Тег embed отсутствует в теге object. Должно ли это быть?

2. Хорошо .. похоже, вам нужен тег OBJECT для совместимости с IE. Я добавил это. Разве я не должен по-прежнему ожидать, что FF увидит переменные?

3. @Nick Вы правы, тег object (если бы он существовал) был бы там только для совместимости с IE. Вы также правы в том, что если бы его там не было, это не вызвало бы проблемы. Как насчет версии Flash Player?

4. 1 за ваши усилия. Я узнал, что проблема заключалась в некоторой «очистке», которая происходила в нашем классе AS. Я проголосовал за закрытие вопроса, поскольку никто здесь не мог этого предвидеть; очевидно. Спасибо за помощь!