У меня есть SWF, который собирает отзывы пользователей на веб-сайте. Заданные вопросы извлекаются в виде XML с использованием URL-адреса, предоставленного через flashvars, встроенный в страницу. К сожалению, это, кажется, сломалось в последней версии моего SWF.
Вот как я встраиваю объект:
<script src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("http://localhost/mysite/q.swf", "flashcontent", "900", "360", "9.0.0", "http://localhost/mysite/expressInstall.swf", { loadurl: escape("http://localhost/mysite/q.php?q=13") }, {}, {});
</script>
</head>
<body>
<div id="flashcontent">
</div>
</body>
Я пытаюсь вытащить флэшвар loadurl следующим образом:
this.loaderInfo.addEventListener(Event.COMPLETE, function(e:Event) {
init();
});
function init()
{
*snip*
loadurl = unescape((loaderInfo.parameters.loadurl));
}
Использование ExternalInterface.call()
для вызова console.log
в браузере выводит ноль, но в предыдущей версии (где этот код остался неизменным) он работает и выводит URL, как я и ожидал. Я могу переключаться между ними, видеть, как он работает на более ранних версиях, а затем обновляться до новых и снова выводить ноль.
Единственное изменение в этой более новой версии ресурса - это то, что я добавил символ и немного кода, чтобы добавить его на этап после загрузки XML - но это никоим образом не изменило код, получающий URL из HTML-кода страницы.
Я использую Flash CS5, и это проект ActionScript 3.0.
Кто-нибудь может подсказать, где я иду не так? Я потратил целую вечность, натягивая свои волосы на этот, поэтому любая помощь будет принята с благодарностью. Я где-то читал, что это можно сделать через ExternalInterface - будет ли это более подходящим для такого сценария, как этот? Это жизнеспособная альтернатива, если по какой-то причине я не могу заставить это работать должным образом?
Спасибо!