Просмотр полной версии : Запуск функции во флеше с штмл!
Помогите пожайлуста разобраться на пальцах про передачу с яваскрипт во флеш. Прочитал много постов, но до конца не смог понять.
Переменные с горем пополам с помощью LoadVars.load() получилось принять, а как заставить с штмл запустить функцию на флеше?
например с штмл с кода <a href="">test</a> чтобы при нажатии загрузалась во флеше функция test(); :)
Fernando Costa
09.09.2008, 20:14
смотрите класс ExternalInterface
смотрел, не помогло :)
если не сложно может кто-то написать кусочек кода?
asfunction
var myMP3:Sound = new Sound();
function playMP3(mp3:String) {
myMP3.loadSound(mp3, true);
myMP3.onLoad = function(success) {
if (!success) {
// code to handle errors here
}
};
}
this.createTextField("list_txt", this.getNextHighestDepth(), 0, 0, 200, 100);
list_txt.autoSize = true;
list_txt.html = true;
list_txt.multiline = true;
list_txt.htmlText = "<a href=\"asfunction:playMP3, track1.mp3\">Track 1</a><br>";
list_txt.htmlText += "<a href=\"asfunction:playMP3, track2.mp3\">Track 2</a><br>";
тут текст, я так понял, находится в самой флешке.
Я про ситуацию, когда в браузере на страничке загружена флешка, и под ней, ссылка, на нее кликаешь, и во флешке вызывается функция.
Не внимательно прочитал ваш пост, прошу прощения.
http://noregret.org/tutor/navigation/
Думаю там вы найдете решение вашей проблемы.
смотрел, не нашел к сожалению, чего и попросил как правильно оформить код..
oOLokiOo
18.09.2008, 12:28
Решил не создавать новую тему а поднять эту. Хоть у меня и проблемма немного не про <a href="asfunction:... как у автора...
Вообщем! Есть флешка. В DynamikText.htmlText вставлен html со ссылками. По нажатию на ссылку открываетсяо попап с
<html>
<body onBeforeUnload="closeThis();">
<iframe src ="siteurl" width="100%" height="100%">
</iframe>
</body>
</html>
Так вот собсно вопрос. Как сделать что б при выоплнении - closeThis() во флеше запустилась определённая флеш функция?
PgeorgyV
19.09.2008, 13:50
На страничке:
<script language="javascript">
function thisMovie(movieName)
{
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
}
else {
if(document[movieName].length != undefined){
return document[movieName][1];
}
return document[movieName];
}
}
function click() {
thisMovie("IDflashObject").CallbackNameFunction();
}
</script>
<a onclick="click();">this click</a>
Во флеше:
import flash.external.*;
ExternalInterface.addCallback("CallbackNameFunction", this, NameFunction);
function NameFunction():Void {
var txt:TextField = _root.createTextField('txt_'+_root.getNextHighestDepth(),_root.getNextHighestDepth(),0,0,0,0);
txt.autoSize = true;
txt.text = 'вот оно как должно было быть ;-)';
}
oOLokiOo
22.09.2008, 13:08
О! Ппц я промучался над этим, а тут пару строчег кода)
Только в моём варианте нужно было из попапа достукиваццо к флешке таг:
return window.opener.document[movieName];
Ну это вже мелочи :)
Большое Спасибо!
Пользователь oOLokiOo получает плюс за нарушение первого пункта правил (использование "албанского" языка).
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.