Autor Zpráva
ondra
Profil
Zdravím.

Mám problém: Potřeboval bych nějakým způsobem z ActionScriptu (asi pomocí volání javascriptu přes getURL()) změnit výšku objektu <object>, ve kterém mám umístěn Flash v HTML. Jde mi o to, abych mohl de facto "protáhnout stránku" a změnit výšku Flashe.

Nevíte někdo, jak na to?

Díky.


Ondra
Hanz
Profil
ondra
Z Flashe spustíš ten JS takto:
on (release) {
getURL("javascript:zmena_velikosti()");
}

A v HTML musíš mít:
<script language="JavaScript" type="text/JavaScript">
function zmena_velikosti() {
// TADY BUDE SCRIPT NA ZMĚNU VELIKOSTI
}
</script>


Na ten scrip se zeptej v sekci o JS
ondra
Profil
no jó, to je jasný, já spíš hledal ten javascriptovej kód :)) pozeptám se v té diskusi, co doporučuješ. díky.

ondra
Fenrir
Profil *
Takže pro změnu velikosti http okna:
z flashe zavolas

tlacitkoProZmenu.onRelease = function()
{
getURL("javascript:resizeOuterTo(w,h)");
}

// Todle budeš mít v html
<script language="JavaScript">
<!--
function resizeOuterTo(w,h) {
if (parseInt(navigator.appVersion)>3) {
if (navigator.appName=="Netscape") {
top.outerWidth=w;
top.outerHeight=h;
}
else top.resizeTo(w,h);
}
}

// -->
</script>

To ti změní velikost toho okno,

Pokud budeš potřebovat měnit velikost jednotlivejch komponent, třeba dataGridu tak v flashy:

data_grid.setSize(w,h);
// Nedá se na to použít _width a _height protože to to jenom roztáhneš to znamená že třeba u toho datagridu nebo u combo boxu vadí...

Automatickou změnu velikosti podkladu provedeš třeba takto

// Funkce pro zmenu podklasu
onResize = function () {
podklad_test._width = Stage.width; // tady měním různé věci...
spodni_line._width = Stage.width; // tady taky
line._width = Stage.width; // a tady taky
}
Stage.addListener(this); todle musí bejt samozřejmě v _root protože jinak provedeš registraci Stage na nějakej jinej moveie clip a samozřejmě chceme sledovat celou velikost flash dokumentu.
onResize(); // na začátku tuhle funkci zavolám aby se to nastavilo, i když pokud nebudeš používat různou velikost okna na začátku tak to není ani potřeba
Toto téma je uzamčeno. Odpověď nelze zaslat.

0