Xpoint
   [напомнить пароль]

Передача динамических переменных из AS в JS

Метки: [без меток]
2009-03-02 13:47:10 [обр] Эрнест(0/20)[досье]

Подскажите пожалуйста почему
вот так работает:

getURL("javascript: alert('test');void(0)");

а вот так ни в какую:

var a = 'test';
getURL("javascript: alert(a);void(0)");

Не ругайте сильно, я во flash разбираюсь как свинья в апельсинах

спустя 10 минут [обр] MiRacLe(0/77)[досье]
а в чём разбираетесь? строки складывать умеете?
спустя 14 минут [обр] Эрнест(0/20)[досье]
Перечитал свой вопрос.
Не обнаружил в нем ничего оскорбительного. Ничего, что заслуживало бы такого ответа.
спустя 9 минут [обр] MiRacLe(0/77)[досье]
Да я тоже не вижу ничего оскорбительного в своём вопросе. Вы не ищите подколок - ответьте просто - умеете?
спустя 12 минут [обр] Эрнест(0/20)[досье]
Извините, неправильно понял.
Вы имеете ввиду конкатенацию?
Разумеется умею.
спустя 3 минуты [обр] MiRacLe(0/77)[досье]

ну тогда собственно вот:

"a" + "b" == "ab"
c = "d"
"alert('" + c + "')" == "alert('d')"

спустя 22 минуты [обр] Эрнест(0/20)[досье]

Не совсем то.
Я скорее всего неправильно сформулировал вопрос.
Переменная "а" не интерпретируется. Вот в чем дело.
Т.е. после выполнения

var a = 'test';
getURL("javascript: alert(a);void(0)");

я не виду алерта с надписью 'test'

спустя 8 минут [обр] MiRacLe(0/77)[досье]

ещё раз:

если вы хотите получить строку alert('test'), то вам нужно сложить ТРИ строки: alert(' + test + ')... ага?

спустя 4 минуты [обр] Алексей Севрюков(1/1280)[досье]
сообщение промодерировано
А он должен быть? Даже не так, а так "А с чего это должно выводить алерт с надписью 'test'".
Попробуйте определить переменную var a='test from HS' с помощью JS на странице с этой флэшкой, что получается?
спустя 1 минуту [обр] Алексей Севрюков(1/1280)[досье]
MiRacLe[досье] спокойнее. Автору нужно НЕ совсем то, что вы предлагаете.
спустя 2 минуты [обр] Эрнест(0/20)[досье]

Работает вот так

var a = 'test';
var b="javascript: alert('" + a + "');void(0)";
getURL(b);

Странности.
Но спасибо, натолкнули на мысль.

спустя 38 минут [обр] Алексей Севрюков(1/1280)[досье]
сообщение промодерировано
В этом нет ничего странного. JS получает в качестве URL уже готовую строку, которую выполняет JS, а не Flash. Поэтому JS и не может достать переменную, которую Вы определили во Flash.
спустя 4 минуты [обр] MiRacLe(0/77)[досье]
Алексей Севрюков[досье] совсем не так... getURL получает в качестве аргумента строку (а не код, который должен "интерпретироваться")
спустя 21 минуту [обр] Алексей Севрюков(1/1280)[досье]

MiRacLe[досье] В моем посте ни слова про getURL. Про интерпретацию я вообще ни слова не говорил. Это Автор предполагал, что она должна интерпретироваться. Так как Flash сам строку разбирать не будет (и не должен), я предположил что Автор хочет чтобы эту строку разобрал JS и каким то образом получил значение переменной а, определенной во Flash. Что, AFAIK, невозможно.

P.S. Предположение провалилось, вечно я что-то выдумываю )

Powered by POEM™ Engine Copyright © 2002-2005