Flash na stránce   otázka

ASP.NET WebForms

Chtěl bych se zeptat, jak bych mohl do asp stránky vložit flashový soubor. Zkouším to stejně jako v html, jenže se nic nezobrazí...

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" 
width="520" height="420" id="movie" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="movie.swf" />
<param name="quality" value="high" />
<embed src="movie.swf" quality="high" bgcolor="#0099ff" 
width="520" height="420" name="movie" align="middle" allowScriptAccess="sameDomain" 
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já tedy nevím jak to funguje vám, ale mě to funguje. SWF soubor jsem vložil do webového adresáře a použil tento kód:

     <object type="application/x-shockwave-flash" data="App_Themes/Default/Flash/style1.swf" width="915" height="180">
         <param name="movie" value="App_Themes/Default/Flash/container.swf?path=App_Themes/Default/Flash/style1.swf" />
         <param name="menu" value="false" />
         <param name="quality" value="high" />
         <param name="scale" value="noscale" />
         <param name="bgcolor" value="#FFFFFF" /> 
         <param name="wmode" value="transparent" />
    </object>

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Ani váš kód mi nic nezobrazí. Každopádně jsem si všimnul, že jen načítáte přes nějaký container.swf s parametrem přehrávaného souboru. Má to nějaký hlubší smysl?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ano ten container udělá to že to jde i v IE když tam není v IE se nezobrazí. A ještě mi došla další věc když nebude soubor v kořenovém asp soubor v kořenovém adresáři tak to nepůjde. Protože když bude např adresa aspx souboru http://localhost:2130/app/Account/profil... , tak se adresa k Flash souboru dosadí takto http://localhost:2130/app/Account/App_Th... což je smamozřemě špatně. Jelikož asp taky ještě moc neumí tak nevím jak to vyřešit. :(

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Tak skutečně, pokud nahraji swf soubor do kořenového adresáře, vše funguje (i v IE), ale jen v případě, že kód dám do asp stránky, která se také nachází v kořenovém adresáři. Z jiné stejný kód nic nezobrazí. Bude zřejmě nějaký problém v cestě.

Jestliže se ale stejnou cestou odkazuji třeba na obrázky, tak vše funguje.

Swf soubor se nezobrazí, pokud je kořenový adresář součástí cesty (znak '~'), u obrázků je to ale opačně (bez '~' se nezobrazí).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

vytvořte si např.složku "flash" a pak dejte do src flash/jméno_souboru.swf

nahlásit spamnahlásit spam 0 odpovědětodpovědět

I ve složce "flash" i mimo ni, se vše zobrazuje správně, ale pouze na stránce, která je umístěna v kořenovém adresáři. Já ji mám právě v podsložce (jinak bych si toho asi ani nevšimnul). Zkoušel jsem "flash/movie.swf" nebo "~/flash/movie.swf".

Připadá mi to, jako bych se musel nejprve dostat na úroveň kořene a pak se dále odkazovat, což mi ale přijde jako nesmysl (i když to zatím takhle bohužel funguje).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste tedy přidat před cestu ke složce flash "../flash/soubor.swf"

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Tak to pomohlo... Vypadá to sice nehezky, ale je to zatím asi nejlepší řešení (../../flash/movie.swf).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Problém bude asi v tom,že zn. "~" je známa a může být používána pouze asp.net controls.Možná to formuluju nepřesně a ne úplně správně a některý ze zkušených kolegů mě opraví,ale myslím,že to hlavní to vystihuje.

Být Vámi tak bych prošel na googlu možnosti psaní cest pro prvky,které nejsou asp.net control.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

~ tento znak naznačuje kořenový adresář ;)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Cestu na správné místo vložte přes

<%= ResolveClientUrl("~/cesta/s/vlnkou.swf") %>

, případně tomu object tagu nastavte runat="server" a nastavte tu cestu v code behindu, což je hezčí řešení.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback