Toon posts:

[flash] SetVariable met js-script maakt klik geluid in IE

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi,

Ik heb de volgende actionscript code gevonden die cookies kan uitlezen en wegschrijven :*) :Y)

Uitlezen:
code:
1
2
3
this.onEnterFrame = function() {
    getURL("javascript:document.flashPlayer.SetVariable('_root.huidige_volume',(document.cookie) ? document.cookie : '80');");
};


Wegschrijven:
code:
1
2
3
4
this.onEnterFrame = function() {
    if (dragging) {     getURL("javascript:expiryDuration = new Date(); expiryDuration.setTime(expiryDuration.getTime() + " add 1000 * 86400 add "); document.cookie = '" add level add "; expires=' + expiryDuration.toGMTString(); void(0);");
    }
};


Werkt perfect in Firefox :D maar niet in Internet Explorer of Netscape.... en Opera ho maar, omdat ie anders omgaat met het cookie verhaal.... ander probleem waar wel om heen te werken valt later :)

Anyway.... Wat nu het probleem is is dat er vanuit IE het o zo bekende 'klik' geluidje te horen is, net alsof er op een link geklikt is... Dat gebeurt bij het aanroepen van mijn twee getURL functies.

Veel verstand van Actionscript heb ik niet, maar ik denk omdat er geen stop() action in mijn keyframe zit, blijft ie continue het klik geluid genereren....

Heeft iemand dit vaker meegemaakt en/of een mogelijke oplossing/duw in de goede richting voor mij?

Groetjes,
Statix

  • sanderb
  • Registratie: November 2000
  • Laatst online: 09:25
waarom wil je uberhaupt continue een cookie wegschrijven?
je kunt ook een local shared object gebruiken binnen flash als een soort cookie. dan omzeil je al je problemen die je nu hebt in ieder geval (en is ook netter vind ik)

" A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. " - Douglas Noel Adams


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:44

crisp

Devver

Pixelated

Geen getURL gebruiken maar fscommand om vanuit flash javascript uit te voeren. Gebruik maken van het javascript: pseudo-protocol is de meest ranzige manier om javascript uit te voeren...

Intentionally left blank


Verwijderd

Als je Flash 8 gebruikt, is er nog een betere oplossing: ExternalInterface.

code:
1
2
import flash.external.*;        
ExternalInterface.call("msg", strMessage);


Zo roep ik de functie msg aan. Dan moet je van die code die je nu via AS aanroept ff een functie maken en de datum doorgeven van AS naar JS

Verwijderd

Topicstarter
waarom wil je uberhaupt continue een cookie wegschrijven?
Omdat er een slider achterzit die de volume van het geluidsfragment heeft. Dit kan iets anders door als het draggen gestopt is natuurlijk :) detail ;-)
Gebruik maken van het javascript: pseudo-protocol is de meest ranzige manier om javascript uit te voeren...
Weinig ervaring met action script ;-) en dit was een van de weinige voorbeelden die ik aan de praat heb gekregen.
Als je Flash 8 gebruikt, is er nog een betere oplossing: ExternalInterface.

code:
1
2
import flash.external.*;        
ExternalInterface.call("msg", strMessage);


Zo roep ik de functie msg aan. Dan moet je van die code die je nu via AS aanroept ff een functie maken en de datum doorgeven van AS naar JS
Ik zal hier eens naar gaan kijken :)

Via fscommand had ik het al geprobeert alleen niet aan de praat gekregen om de waarde in flash te krijgen. Wel het zetten van de cookie in een javascript zelf :)

Bedankt voor het meedenken! _/-\o_

  • sanderb
  • Registratie: November 2000
  • Laatst online: 09:25
Verwijderd schreef op donderdag 06 juli 2006 @ 11:33:
[...]
Omdat er een slider achterzit die de volume van het geluidsfragment heeft. Dit kan iets anders door als het draggen gestopt is natuurlijk :) detail ;-)
Je hebt dus een slider in flash, die het volume van een geluidsfragment bepaald...en je wil met een cookie de positie van die slider onthouden?
Dan is het geen detail, maar kies je gewoon een moeilijke route door met cookies te werken.
Een local shared object kun je hier prima voor gebruiken, werkt in alle browsers en je hoeft dan niet moeilijk te gaan doen met javascript.

Een local shared object kun je zien als een soort cookie in flash. Die blijft dus ook staan en kun je de volgende keer weer uitlezen (zelfs vanuit een andere swf)

" A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. " - Douglas Noel Adams


Verwijderd

Topicstarter
Ziet er super uit!!

Tutorial gevonden http://www.tutorio.com/tu...l-shared-objects-tutorial

Ga het vanavond meteen testen :)

Ik vind actionscript best wel cool eigenlijk 8)
Pagina: 1