Просмотр полной версии : Как получить Url страницы?
Необходимо получить во флэше URL страницы на которой он находится. Что-то не нашёл я в МХ решения проблемы. _url даёт адрес самого swf-файла, а нужен адрес HTML-страницы... Может кто-нибудь уже сталкивался с чем-то подобным?
Nox Noctis
07.04.2004, 19:11
самое простое - передать во флэш window.location.href через тэг FlashVars. при загрузке страницы во флэше появится переменная содержащая адрес странички.
Это, как я понимаю, надо javascript использовать, а нет ли решения "чисто" на флэше?
свойство _url возвращает (угадай что?) URL источника из которого был загружен файл в виде строки вида http:/servername/path/swf, причем для локальной машины - это путь к файлу, включая имя диска.
А для несохраненных проектов - временная папка
Nox Noctis
07.04.2004, 19:44
Оригинал написал(а) Dindin
(угадай что?)кто-то снова самый умный :))
человек в курсе что оно возвращает :)
никто не запрещал хранить свф и хтмл, в который он вставлен, в разных местах.
Оригинал написал(а) Dindin
_url даёт адрес самого swf-файла, а нужен адрес HTML-страницы...
А я вовсе не самый умный, я самый звонкий :)
Какрма у меня такая - звенеть по поводу и без повода :)
Чаще все-таки без повода :)
А у Вас, Nox, карма между прочим, испортилась :^)
Сделал на яве как написано тут (http://www.flasher.ru/tutorial/viewtut.php?id=125). Вроде работает :cool:
Nox Noctis
07.04.2004, 20:52
вот тут родной туториал:
http://www.macromedia.com/support/flash/ts/documents/java_script_comm.htm
а вот тут про поддержку броузерами разных видов коммуникации между джаваскриптом и флэшем
http://www.macromedia.com/support/flash/ts/documents/browser_support_matrix.htm
но я бы использовал FlashVars (см. исходник) а не setVariable, потому как setVariable работает через пень колоду и только в эксплорере (вроде бы.. не уверен..) Единственное неудобство ФлэшВарс - это то что приходится и обджект и ембед запихивать в document.write... че-то у меня не получилось у обджекта отдельно врайтом внести только нужный параметр :) но я соображаю плохо сейчас, так что может и модно на самом деле :)
тут есть подробности:
http://www.quirksmode.org/js/flash_call.html
2Dindin
она не испортилась - это мой вид деятельности :))
Спасибо за пример.
При использовании setVariable обнаружилась неприятная особенность - переменная загружается не сразу, и если работать с ней при событии onLoad, то она просто не будет успевать загружаться. Возможно это связано с методом watch (который используется в том примере - http://www.flasher.ru/tutorial/viewtut.php?id=125 ). Поправьте меня если это не так.
А вот при FlashVars всё успевает грузиться, но приходится писать много явы (целый килобайт на объект).
Nox Noctis
08.04.2004, 01:29
ээ.. по килобайту джаваскрипта ?
кто-то кого-то не понял :)
там страница увеличивается едва на 100 байт в результате такой операции
Из Вашего же примера:
<script>
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="500" height="55" id="flash" align="middle">');
document.write('<param name="allowScriptAccess" value="sameDomain" />');
document.write('<param name="movie" value="swf/flash.swf" />');
document.write('<param name="menu" value="false" />');
document.write('<param name="FlashVars" value="_realURL='+window.location.href+'" >');
document.write('<param name="quality" value="high" />');
document.write('<param name="bgcolor" value="#000000" />');
document.write('<embed src="flash.swf" Flashvars="_realURL='+window.location.href+'" menu="false" quality="high" bgcolor="#000000" width="500" height="55" name="flash" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
document.write('</object>');
</script>
ИТОГО: 996 байт.
Nox Noctis
08.04.2004, 14:10
но если то же самое написать чистым хтмлом, без джаваскрипта, то получится 800 байт. итого разница меду скриптовым вариантом и не-скриптовым в 160 байт :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.