Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Referer в ActionScript (http://www.flasher.ru/forum/showthread.php?t=99187)

SirJ 30.07.2007 21:16

Referer в ActionScript
 
Здравствуйте!
Читал ваш форум, но нигде не нашел ответа на мой вопрос, хотя были и близкие варианты. Суть вопроса:

у меня есть actionscript такого содержания:
Код:


function replacer(str:String):String
 {
  var res:String = "";
  for (var letter=0; letter<str.length; letter++)
  {
    var examine:String = str.substr(letter,1);
    res += (examine=="&")?"^^":examine;
  } 
  return res;
 }
onLoad()
{
  var search_string:String = "keyword";
  var misc:Number          = 123456; 
  var referrer:String        = "";
  referrer = replacer(referrer);

  getURL("http://www.sitename.name/index.php", "_self", "GET");
}

и нигде я не могу найти "Как средствами actionscript" сохранить в строку referer, как например можно сделать с помощью javascript: var ref = new String(document.referrer);
Подскажите пожалуйста, или подскажите как передать флэшу переменную ref из javascript(тоже пробовал вариации, но не работает), вот как делал:
Код:

<script language="javascript" type="text/javascript">
function preload()
{
 var ref = new String(document.referrer);
 var opera = Boolean(window["opera"]);
 var MSIE = (navigator.userAgent.indexOf("Microsoft") != -1) && !opera;
 var flash = MSIE ? window["script"] : document["script"];
 flash.SetVariable("referrer", ref);
}
</script>

</HEAD>

<BODY onLoad="preload()">
<CENTER>

<TABLE WIDTH=100% height="10%" BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
 <TD>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" odebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="236" height="55" id="script" name="script">
 <param name="movie" value="script.swf">
 <param name="quality" value="high">
 <embed src="script.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="236" height="55" NAME="script"></embed>
</object>
new String(document.referrer);
</TD>
</tr>
</TABLE>

</CENTER>
</BODY>
</HTML>

Заранее спасибо!

Kikasso 30.07.2007 21:42

flashvars

SirJ 30.07.2007 22:03

А покажите на примере использование в данной задачи flashvars, пожалуйста!!!

Ну или подскажите как джаваскриптом прописывать referer в flashvars ???

etc 30.07.2007 22:35

Ответ на ваш вопрос есть на форуме, его едва ли не каждый день задают.

SirJ 30.07.2007 22:56

Мне просто не сильно понятно как это все использовать, некоторые моменты понятны, а некоторые нет, вот например сделал так:
Код:

<TABLE WIDTH=100% height="10%" BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
 <TD>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" odebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="236" height="55" id="script" name="script">
 <param name="movie" value="script.swf">
 <param name="quality" value="high">

<script language="javascript" type="text/javascript">
 var req = String(document.referrer);
 document.write('<PARAM NAME=FlashVars VALUE="ref='+req+'">');
 document.write('<embed src="script.swf" FlashVars="ref='+req+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="236" height="55" NAME="script"></embed>');
</script>

</object>
</TD>
</tr>
</TABLE>

результата нету (((, что не правильно делаю???

etc 30.07.2007 23:00

Нет, с помощью JS надо вписывать вообще весь тег <object> вместе с потрохами. И в нужном месте вписывать нормальные flashvars.
В приведенном коде все верно, за исключением того, что надо весь тег object через document.write прогонять.

SirJ 30.07.2007 23:16

Понял, спасибо большое.
Прошу прощения, что отписался сначала в разделе для профи =)
Если поиск не поможет вдруг по другим вопросам(а они появятся чувствую), то буду писать!

SirJ 30.07.2007 23:36

А еще вот вопросик по ходу всплыл:
используя
Код:

 
var referrer:String      = _root.ref;

ф-ей getURL(); ссылке методом пост передается ведь ВСЕ переменные, т.е. и ref, а как сделать чтобы ref использовалась только для присваивания переменной referrer, но не передавалась вместе со всеми переменными?

etc 30.07.2007 23:40

Через getURL никаких переменных никуда не передается. Заголовок HTTP_REFERER поменять также нельзя.

Можно передать refererrer так:

Код:

getURL('http://site.ru/script.php?ref='+_level0.ref);

SirJ 30.07.2007 23:46

Не, я про то что когда юзаю:
Код:

onLoad()
{
  var search_string:String = "keyword";
  var misc:Number          = 123456; 
  var referrer:String        = _root.ref;
  referrer = replacer(referrer);

  getURL("http://www.sitename.name/index.php", "_self", "POST");
}

то все переменные передаются на http://www.sitename.name/index.php , а как сделать чтобы ref туда не отправлялась, может как-то скрыть или еще какнить.


Часовой пояс GMT +4, время: 20:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.