Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > передача линка с GET параметрами в flash


Автор: ST_Falcon 4.5.2006, 22:28
в банере при щелчке на кнопке вызывается 
getURL(tbeclick, "_blank")

в переменную tbeclick значение передается из html. раньше была проблема с передачей значения во всех браузерах кроме ИЕ.

вроде решил. этот кусок кода работает везде.

Код
<script language="JavaScript">
  function SetBanner()
  {
     window.document.a1.SetVariable("tbeclick", "http://banner.lviv.ua/bn46860/go.php?bn=57&id=a5&pg=55599");
  }
</script>

<body onLoad="SetBanner()" topmargin="0" leftmargin="0" rightmargin="0">

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" ID="a1" WIDTH="468" HEIGHT="60">

<PARAM NAME=movie VALUE="http://banner.lviv.ua/tbe46860/banners/tbe-a419-1.swf">
<PARAM NAME=quality VALUE="high">
<PARAM NAME=scale VALUE="noborder">
<PARAM NAME=bgcolor VALUE="#FFFFFF">
<PARAM NAME="swliveconnect" value="true">
<PARAM NAME=FlashVars VALUE="tbeclick=http://banner.lviv.ua/bn46860/go.php?bn=57&id=a5&pg=55599">

<EMBED src="http://banner.lviv.ua/tbe46860/banners/tbe-a419-1.swf"   swliveconnect="true"  FlashVars="tbeclick=http://banner.lviv.ua/bn46860/go.php?bn=57&id=a5&pg=55599" quality="high" scale="noborder" WIDTH="468" HEIGHT="60" TYPE="application/x-shockwave-flash" bgcolor="#FFFFFF" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT>
</body>


но сегодня заметил другой прикол... в Мозиле и Опере при передаче ОБРЕЗАЮТСЯ ВСЕ параметры которые передаются GET, кроме первого!!!

например как показано выше нужно мне перейти по сылке http://banner.lviv.ua/bn46860/go.php?bn=57&id=a5&pg=55599
а страница получает только http://banner.lviv.ua/bn46860/go.php?bn=57 !! куда деваются &id=a5&pg=55599 ??

В ИЕ все работает на УРА.  Что может быть? Можно как то экранировать символы амперсанда, чтобы flash их коректно передавал? Кто сталкивался с подобным?  

Автор: crafter 5.5.2006, 01:10
Когда ты передаешь 

tbeclick=http://banner.lviv.ua/bn46860/go.php?bn=57&id=a5&pg=55599

то он воспринимает это как набор переменных, т.к  во флешварсах разные пересенные как раз разделяются амперсандами
Т.е у себя в руте ты к примеру найдешь пересенную id=a5и  pg=55599

Замени амперсанд на %26 и все будет ок
  

Автор: szz 5.5.2006, 07:50
Ага, а чтобы потом и в ИЕ от этого не заглючило, заменив все амперсанды на %26, во флеше вместо
getURL(tbeclick, "_blank")
пиши
getURL(tbeclick.split('%26').join('&'), "_blank")  

Автор: crafter 5.5.2006, 20:40
или просто 
getURL(unescape(tbeclick), "_blank")  

ток че оно глючить должно я не понимаю
в адресной строке браузера - оно все равно расчехляет сущности 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)