Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [FLASH] PHP, FlashVars i Firefox, Dlaczego to nie działa... ?
pawlikwn
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 3.10.2008

Ostrzeżenie: (0%)
-----


Witam,

trochę dziwny problem, ale wciąż nie mogę znaleźć rozwiązania. Mianowicie chodzi o zmienne flashVars przekazywane do galerii flash. W zależności od strony, przekazuję zmienną z nazwą galerii. Wszystko jest spoko w operze i w IE, natomiast FF przechwytuje zmienną, ale nie podmienia jej przy zmianie strony. Dopiero po odświeżeniu z pominięciem Cache'a jest w stanie ją wczytać.

Moje pomysły:
1. Wymusić nie cache'owanie
  1. <meta http-equiv="Pragma" content="no-cache" />
  2. <meta http-equiv="expires" content="-1" />
  3.  
  4. NIE ZADZIAŁAŁO


2. Zrobić to samo nagłówkami w PHP:
  1.  
  2. header("Cache-Control: no-cache, must-revalidate");
  3. header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); //Dowolna data wsteczna
  4.  
  5. NIE ZADZIAŁAŁO


3. Strzelić z nerwów w klawiaturę: - nie pomogło

Macie jakieś sugestie (IMG:style_emoticons/default/questionmark.gif)

Kod flasha:
{tpl:flash_gal_category} - tutaj jest nazwa zmiennej

  1. <div id="flashdiv">
  2. <script language="JavaScript" type="text/javascript">
  3. AC_FL_RunContent(
  4. 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
  5. 'width', '703',
  6. 'height', '355',
  7. 'src', 'gallery',
  8. 'quality', 'high',
  9. 'pluginspage', 'http://www.adobe.com/go/getflashplayer',
  10. 'align', 'middle',
  11. 'play', 'true',
  12. 'loop', 'true',
  13. 'FlashVars', 'category={tpl:flash_gal_category}',
  14. 'scale', 'showall',
  15. 'wmode', 'transparent',
  16. 'devicefont', 'false',
  17. 'id', 'gallery',
  18. 'bgcolor', '#251c1c',
  19. 'name', 'gallery',
  20. 'menu', 'true',
  21. 'allowFullScreen', 'false',
  22. 'allowScriptAccess','sameDomain',
  23. 'movie', 'gallery',
  24. 'salign', ''
  25. ); //end AC code
  26. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="703" height="355" id="gallery" align="middle">
  27. <param name="allowScriptAccess" value="sameDomain" />
  28. <param name="allowFullScreen" value="false" />
  29. <param name="FlashVars" value="category={tpl:flash_gal_category}" />
  30. <param name="movie" value="gallery.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#251c1c" />
  31. <embed src="gallery.swf" FlashVars="category={tpl:flash_gal_category}" quality="high" bgcolor="#251c1c" width="703" height="355" name="gallery" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
  32. </object>
  33.  
  34. </div>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
varez
post
Post #2





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


nagłówki http (czy te "symulowane" w HTML, czy te realne) nijak się mają do cache`u FLASH`a.
Nie jestem w stanie Ci pomoc, lecz chcialem zwrocic na to uwage..

w sumie nie siedzialem gleboko we flashu, ale czy toto nie potrafilo by odczytac zmiennej przekazanej GET`em? tj.
  1. <embed src="gallery.swf?category={tpl:flash_gal_category}" />


Poza tym ja zawsze używam skryptu SWFObject do osadzania Flasha - pięknie działa, i nigdy nie miałem problemów z FlashVars - a sam skrypt ma tez pare innych zalet (IMG:style_emoticons/default/winksmiley.jpg)

Ponieważ czasem SWFObject lubi tez szalec - zwlaszcza ze w necie sa rozne jego wersje - czasem inne niz są podpisane (męczyłem sie z tym dlaczego nie działa w/g nowej wersji, a po godzinie odkrylem ze jednak pobrała mi sie stara:/) to masz tu gotowy kod (wszystko w HEAD):
  1. <script type="text/javascript" src="{$_MAIN}js/swfobject.js"></script>
  2. <script type="text/javascript">
  3. var flashvars = {};
  4. flashvars.czasPokazywania = 3;
  5. var params = {};
  6. params.wmode = "opaque"; // tu mozliwe ze chcesz "transparent"
  7. var attributes = {};
  8. attributes.id = "flash";
  9. swfobject.embedSWF("/swf/middlepics.swf", "flash", "741", "242", "9.0.0", "/swf/expressInstall.swf", flashvars, params, attributes);


Nie trzeba stosowac sztuczek na załadowanie DOM - swfobject z tego co widze ma to wbudowane.
Przygotowujesz sobie DIV`a z okreslonym id (w przykladzie id="flash"), stylujesz go na wymiary takie jak flash (w przykladzie 741x242) ustawiasz wszystko i gra (IMG:style_emoticons/default/smile.gif)


PS. A jak nie zadziala to zobacz czy to moze nie problem tylko z Twoim FF.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 20:00