Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   передача данных во флеш (https://javascript.ru/forum/misc/2640-peredacha-dannykh-vo-flesh.html)

demg 26.01.2009 17:53

передача данных во флеш
 
доброго времени суток.
почитала здесь хорошую статью по поводу ExternalInterface и SetVariable. кажется все понятно, а на деле ничего не получается(
у меня есть маленькая флешка (почти неприметная). в ней только звук. флешка стопится.
как мне передать ей команду из хтмл файла (например при наведении на картинку) команду gotoAndPlay(2) (эту функцию я прописала во флеш и ее надо вызвать).
спасибо

Андрей Параничев 26.01.2009 18:25

Что именно не получается? Какой метод используете? Напишите развернуто с кодом, а мы попробуем помочь.

demg 26.01.2009 22:11

спасибо за ответ...
во флеше я пишу
Код:

var methodName:String = "goclick";
var instance:Object = null;
var method:Function = go_click;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method);
function go_click (){
        gotoAndPlay(2);
}

и в хтмл
Код:

<body bgcolor="#ffffff">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1" height="1" id="external" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="Untitled-1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="Untitled-1.swf" quality="high" bgcolor="#ffffff" width="1" height="1" name="external" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<form>
    <input type="button" onclick="callExternalInterface()" value="Call ExternalInterface" />
</form>
<script>
function callExternalInterface() {
    thisMovie("externalInterfaceExample").goclick();
}

function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}
</script>
</body>


ZoNT 27.01.2009 11:31

thisMovie("external").goclick(); ,так как у тебя id=name="external"

demg 27.01.2009 13:43

а теперь пишет
Ошибка: thisMovie("external").goclick is not a function

ZoNT 27.01.2009 14:12

Это всего лишь значит что он не нашёл элемент с таким айди.
function thisMovie(movieName) {
    if (window.ActiveXObject)
        return document.getElementById(movieName);
    else
        return document.getElementById(movieName).lastChild;
}


Часовой пояс GMT +3, время: 03:16.