Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[JS Opacity & Flash object & Windows Safari] flash verdwijnt

Pagina: 1
Acties:

Verwijderd

Topicstarter
Yodelay,

Ik heb een div met daarin een flash object dat langzam in en uit fade dmv javascript en opacity. dat werkt heerlijk in ie en ff maar in Safari verdwijnt het hele flash object, na hevig zoeken en testen heb ik de volgende testcase gemaakt.

ik ben erachter gekomen dat zodra er opacity op een div waarin een flash object zit, het object verdwijnt in safari.

Ik heb de properties van het object aangepast en het verdwijnen stopt in 2 gevallen:

1. verwijderen van wmode="opaque"
2. verwijderen van type="application/x-shockwave-flash"

de eerste optie is echter niet bruikbaar, daarna kan FF het object niet meer manipuleren met opacity
de tweede optie is mijn noodoplossing, direct nadat ik het object laad voer ik het volgende uit:

divNaam.firstChild.type="";

FF blijft werken en safari doet geen fades, maar het flash object verdwijnt ieg niet in het niets.

Mijn vraag is als volgt, weet iemand meer van dit probleem? en is er een betere manier om het te voorkomen, of wellicht een betere manier om het type aan te passen.

testcase hier (met willekeurig flash object ergens op het internet):

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Safari Flash & Opacity test</title>

<script type="text/javascript">
function start() 
{
    document.getElementById("iwonLogo").style.opacity = 0.5;
}
</script>

</head>

<body>
<a href="javascript:start();">click here</a>
    <div id="iwonLogo">
        This text will fade but the swf will disappear in safari, not in FF <br />
        removing "type="application/x-shockwave-flash" will stop it from disappearing <br />
        and FF can still fade it (removing wmode="opaque" also stops it, but then it wont fade in FF either anymore).
        
    <div style="position: absolute; opacity: 1; z-index: 2;" id="FlashContainer2"><embed wmode="opaque" src="http://www.visualxtreme.com/pipe-small-flash.swf" type="application/x-shockwave-flash"/></div>
        
    </div>
    
</body>
</html>

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Kun je niet beter de .swf zelf laten faden? Dan ben je minder afhankelijk van JS enzo dan op deze manier :)

We are shaping the future


  • erikvdv1
  • Registratie: December 2005
  • Laatst online: 29-11 15:14
Ja precies wat Alex) hierboven zegt, volgens mij moet je dan wmode op transparent zetten

Verwijderd

Topicstarter
Dat zou erg fijn zijn, helaas is mijn flash ontwikkeld door third party en heb ik gewoon die optie niet, mijn pagina moet ook dynamisch meer flash objecten van de backend in een rij kunnen zetten en laten faden.

en erik, transparent heeft hetzelfde effect, het verdwijnt dan nog steeds in Safari

[ Voor 17% gewijzigd door Verwijderd op 14-08-2007 21:36 ]


  • erikvdv1
  • Registratie: December 2005
  • Laatst online: 29-11 15:14
Mischien kan je dan beter een nieuwe flash movie maken waarin je de flash movies dynamisch inlaadt (loadMovie) en ze daar animaties laat doen

Verwijderd

Topicstarter
Interessant idee, dat zou welicht werken, maar ook dat laat mijn posititie hier niet toe, ik heb geen flash, of director op mijn werk pc, ook communiceert de flash file met een database backend en ik weet niet of dat allemaal zo lekker zou rondtennisen, het voordeel nu ook is dat een flash object (het zijn kansspelen) alleen ingeladen worden als de gebruiker het wil.

  • erikvdv1
  • Registratie: December 2005
  • Laatst online: 29-11 15:14
Een 30 dagen versie van Flash kan je zo van de Adobe site halen. Je hoeft denk ik ook niet alle flash movies tegelijk in te laden, want loadMovie kan je ook op een knop zetten oid (dus inladen wanneer de gebruiker het wil, of begrijp ik het niet goed?). Dat communiceren met de database zou je dan inderdaad even moeten testen met een simpel loadMovie scriptje. Ik denk dat hij zich niets van de parent movie zal aantrekken, maar dat durf ik niet met zekerheid te zeggen.

Verwijderd

Topicstarter
bedankt voor het idee, maar dat is toch niet wat ik wil doen, ik wil het echt buiten flash om doen.

  • funkwurm
  • Registratie: December 2005
  • Laatst online: 22-02-2021
Verwijderd schreef op dinsdag 14 augustus 2007 @ 21:18:
1. verwijderen van wmode="opaque"
[...]
de eerste optie is echter niet bruikbaar, daarna kan FF het object niet meer manipuleren met opacity
Is dat de enige reden dat je het probleem in _safari_ niet op kunt lossen? Omdat FF dan moeilijk gaat doen? Ik zeg browsersniff, niet zo heel orthodox, maar als het werkt...

safari en konqueror (zelfde engine) hebben als enige khtml in hun agent-string staan, dus wellicht is dat een optie.

Verwijderd

Topicstarter
de manipulatie is essentieel hier, als ik die tag niet meer heb dan is het hele opacity fading verhaal uit. geen optie dus

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 14:29

sopsop

[v] [;,,;] [v]

funkwurm schreef op woensdag 15 augustus 2007 @ 04:22:
[...]

Is dat de enige reden dat je het probleem in _safari_ niet op kunt lossen? Omdat FF dan moeilijk gaat doen? Ik zeg browsersniff, niet zo heel orthodox, maar als het werkt...
[..]
Ik gok dat hij niet FireFox bedoelt met 'FF'. Indien hij dat wel bedoeld zie ik het probleem ook niet.

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 27-10 15:31
Je kan natuurlijk ook het omgekeerde doen.., Namelijk een layer (div / plaatje) boven op het flash object laten faden van transparant tot solid ....

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Verwijderd

Topicstarter
Sorry, uit mijn test case blijkt het niet de originele pagina, er zijn 2 divs op elkaar die elk een flash object bevatten. om de zoveel seconden of wanneer de gebruiker het wil, worden de flash object gewisseld.
offtopic:
raar mijn enter toets werkt niet in dit venster?!?!
Dat wisselen gebeurd met fades, het ene object fade in tegelijk met de fade out van de ander. Ik snap verder niet wat er precies de verwarring is, punt 1 zoals gezegd in mijn startpost werkt niet, omdat dat de boel in FF verpest en punt 2 werkt wel met FF, maar het blijft een hack die op zijn best de boel gracefully laat failen in Safari. De vraag was of mensen andere/betere oplossingen wisten.
Pagina: 1