![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 11
|
Помогите, люди добрые... Пытаюсь присвоить значение переменной из html через javascript таким образом: onclick="document.MyFlashID.SetVariable('MyVariable','MyValue');"
В динамическом текстовом поле (с Var='MyVariable') это значение появляется, но при попытке работать с переменной каким-либо другим способом ничего не получается - undefined ![]() В чем причина? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 11
|
Я тоже умею пользоваться input/search в поисковых системах. ;-) Но здесь нет ответа на вышеприведенный вопрос. Вы думаете иначе???
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Да, я думаю иначе. Там рассказывается о всевозможных способах передачи переменной во Flash и то, что SetVariable не лучший вариант.
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 11
|
Для решения моей задачи этот вариант подходит идеально. Я даже знаю пример, где этот метод благополучно работает, несмотря на описанные Вами трудности: http://pyg.keonox.com/flashmp3player/jcloze.htm
Мне неизвестна самая малость: почему у меня это не хочет работать ;-( |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что надо писать setVariable("_level0.anyVariable","value");
А во флеше пользовать _level0.anyVariable. Я не проверял, но должно работать. Вы бы пояснили, что значит «при попытке работать с переменной каким-либо другим способом» и привели код того, как вы с ней хотите работать. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 11
|
Что-то так тоже не работает - хоть _level0, хоть _root
![]() «Каким-либо другим способом» - например, для <a href="javascript:void(0);" onclick="document.mp3player.SetVariable('currenturl','mysound.mp3');">проиграть</a> Повторюсь, что в динамическом текстовом поле переменная с названием файла отображается, а вот звука нет... И попытка "вытащить" это значение из текстового поля мне не удалась. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Так ведь ваш код во флеше выполняется раньше, чем вы нажали на ссылку. А переменной currenturl ещё нет. Что мешает переписывать код флеша в диве с разными значениями flashvars?
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 11
|
Спасибо.
Почему-то такое простое и логичное объяснение мне в голову не приходило. А Вам самому переписывание кода флеша в диве не кажется ли усложнением проблемы без необходимости? |
|
|||||
|
Регистрация: May 2006
Сообщений: 47
|
Цитата:
fiona, делай через ExternalInterface Вот пример. Flash import flash.external.*;
// Текстовое поле для дебага
var txtField:TextField = this.createTextField("txtField", this.getNextHighestDepth(), 0, 0, 200, 80);
txtField.border = true;
// Регистрируем внешний метод set, привязанный к внутренней функции __set
if (ExternalInterface.addCallback('set', null, __set)) {
Debug('External method set() registered');
}
else { Debug('Error'); }
// Регистрирует переменную в _root
function __set(myVar, myValue) {
_root[myVar] = myValue;
Debug('New variable registered `'+myVar+'`: '+_root[myVar]);
}
function Debug(msg) {
txtField.text += msg+"\n";
}
function registerVariable(varName, varValue) {
if(varName) {
thisMovie("Айдишник мувика").set(varName, varValue);
}
}
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}
else {
return document[movieName]
}
}
<form> Var name: <input type="text" name="varName" value="var" id="varName" style="border: 1px solid black;" /> <br /><br /> Value: <input type="text" name="varValue" value="value" id="varValue" style="border: 1px solid black;" /> <br /><br /> <input type="button" onclick="registerVariable( document.getElementById('varName').value, document.getElementById('varValue').value) ;" value="Register variable" /> </form> Последний раз редактировалось Powerhead; 06.03.2007 в 18:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|