Autor Zpráva
peterko
Profil
V teme: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=17 735

som potreboval vediet, ako sa da uskutocnit ovladanie flashovej animacie z textu HTML stranky.

On Line je to v pohode:
www.peter.sbb.sk, ale offline pri FlashPlayer 8.0 to nefici. Ja potrebujem Off-line verziu, resp. z CD.

Na stranke:
http://www.macromedia.com/devnet/flash/articles/fplayer8_security_04.h tml

sa o tom volaco aj pise, ale riesenie som nenasiel. Proste Flash nedovoli pristup JS z HTML. Typicke okno vo Firefoxe po stlaceni na skriptovy odkaz - vid obr3 toho clanku. A ked to chces povolit, musis sa pripojit na WEB

Ako to spravit, aby clovek nemusel nic nastavovat a nebylo sa to s bezpecnostou?
Existuje nejaky prikaz, ktory sa napise do HTML alebo priamo do FLASHU???
Hanz
Profil
peterko
Zkus dát do tagu embed i object do parametru allowScriptAccess hodnotu always

Pokuď to nepomůže tak do Flashe:
import flash.external.*;
function funkcex() {
// SEM SCRIPT TOHO CO SE MÁ PROVÉST
}
ExternalInterface.addCallback("cokoli", null, "funkcex");

A do HTML:
<a href="javascript:window.document.nazev_SWF.cokoli();">proveď</a>

A ještě tam musíš provést krok co jsem psal nazačátku (to allowScriptAccess)
Hanz
Profil
Jo a málem bych zapomněl. Tohle jde až od Flashe 8
peterko
Profil
Vdaka vyskusam to.
Ale allowScriptAccess je skor na to aby mal Flash pristup do dokumentu a nie JS pristup do Flashu, nie?
Hanz
Profil
peterko
Je na oboje
peterko
Profil
Ja som vo Flashi zaciatocnik, kde mam napisat ten script, do prveho framu, alebo do framov, an ktore odkazujem, alebo kde? Pouzivam 4 vrstvy, je to jedno, do ktorej.

Ked v HTML pouzijem viac odkazov na Flash mam ich do flashu vypisovat vsetky?

Priklad:

import flash.external.*;
function funkcex() {
"javascript:window.document.cepel.gotoframe(2);"
"javascript:window.document.cepel.gotoframe(3);"}
ExternalInterface.addCallback("čo mam dat du", null, "funkcex");

Ak by si bol ochotny, mozem Ti poslat moj zdrojovy fla

Dost mi to suri.

Tebe to off line na FlashPlayer8 ide???
Hanz
Profil
peterko
Mi to jde na FlashPlayeru 8.5

"javascript:window.document.cepel.gotoframe(2);"
"javascript:window.document.cepel.gotoframe(3);"


Tam nemá být JavaScript, ale normální AS. Takže třeba gotoAndStop(2), atd...

ExternalInterface.addCallback("čo mam dat du", null, "funkcex");
Musíš tam dát stejný název té události, jako v tom JavaScriptu v HTML.

Ak by si bol ochotny, mozem Ti poslat moj zdrojovy fla
Pošli. Email najdeš v profilu
peterko
Profil
na FlashPlayer7 mi to ide vo Firefoxe aj Opere offline super...

Len na tej 8 spravili privela ochran obmedzujuce bezne veci...
peterko
Profil
Uz som ti to poslal mailom. Vdaka, Peterko
peterko
Profil
Vdaka Hanz. Ale po prvom vyskusani mi to nejde ani na IE, Firefoxe, Opere. Hoci v poslednych dvoch je nastaveny Flashplayer 7.

Co ty na to?
peterko
Profil
Zabudol som Ti povedat, ze mam Flash MX 2004, takze som ani zdrojak neotvoril.

Mozes s tym este nieco urobit?

Vdaka, peterko
Hanz
Profil
peterko
No v tom případě nemáš jinou šanci, než tak jak jsi to mněl hned na začátku (jak jsem psal ExternalInterface je až ve Flashi 8, takže pokuď máš starší tak ti to nepojede).
PS: Tak jak jsi to mněl předtím mi to jelo i ofline. Netuším proč tobě ne.
peterko
Profil
Na PC mam aj FlashPlayer Version 8,0,22,0 a tam to ide - cez Firefox aj IE. Ale upravit a vytvorit ten zdrojak sa da len vo Flash8? Neda sa to ulozit pre Flash MX 2004 a v nom to otvorit?
Leo
Profil
A JS samotny vam offline funguje? Treba na Win XP SP2 je v IE6 defaultne zakazane spousteni aktivniho obsahu z disku (i z CD). Leo
EllisDee
Profil *
Ahoj,
koukám že se tu zrovna řeší něco podobného, nad čím tu už pár chvil bádám. Potřebuju ovládat SWF pomocí JavaScriptu. V html stránce jsem si vytvořil JavaScriptem funkci flashObj(), která mi vrací identifikátor na swf soubor.
Funkce vypadá takto:


function flashObj()
{
if(navigator.appName=="Netscape")
{
return document.embeds[0];
}
else
{
return window['test']
}
}
</script>

Potom jednoduše ovládám film třeba butonkem:
<input type="button" name="test" value="Play" onclick="Javascript: flashObj().play();">

Do problému jsem se dostal, až když jsem se pokusil ovládat flashový film v oblíbené Mozille, tam to s SWFkem nehne.
Jakoby flashObj() předával špatnou hodnotu.

Pro zobrazení SWF mám v html toto:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/sw flash.cab#version=7,0,0,0" width="300" height="300" id="test" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="test.swf" quality="high" bgcolor="#ffffff" width="300" height="300" name="test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>


Help plz
Hanz
Profil
http://hanz.xhosting.cz/blog/hanzblog/flash/javascript-flash.html
Toto téma je uzamčeno. Odpověď nelze zaslat.

0