Toon posts:

[FLASH] Disable refresh in Flash? hoe?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik heb een website gemaakt met daarin een flash movie. Nou wil ik voorkomen dat deze site kan refreshen. Dus heb ik in de HTML code met een java scriptje ingesteld dat er niet op F5 gedrukt kan worden. Maar als de flash movie de focus heeft en iemand klikt op refresh of F5 dan refreshed de pagina gewoon.

Weet iemand hoe ik in een flash movie de refresh kan uitschalen. Of hoe ik kan voorkomen dat er op F5 gedrukt wordt?

Alvast bedankt.

(de reden dat ik het wil uitschakelen is dat mijn flash movie een socket conectie opent met een vb applicatie. En ik wil voorkomen dat door het refreshen van een pagina de connectie gesloten wordt en weer opnieuw gaat connecten)

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 16:53
Er bestaat altijd nog iets als een refresh knop en een rechter-muisknop-menu- refresh? :)

Motor (of auto) onderhoud bijhouden


Verwijderd

Topicstarter
die heb ik natuurlijk al weggehaald. De html file met movie is een pop-up zonder scrollbar en knoppen. Dus ze kunnen zowiezo al niet op de refresh button klikken. Het gaat mij alleen om de situatie waarin de gebruiker, als de movie de focus heeft, op F5 klikt. De rest van de situaties heb ik al opgelost. :-)

  • roytanck
  • Registratie: Oktober 1999
  • Laatst online: 07-07 09:29
er is een fscommand om alle keys in flash af te vangen:

fscommand("trapallkeys","true");

Waarschijnlijk moet je dan ook nog ff iets doen met f5, bijvoorbeeld een lege method aanroepen of zo... anders weet ik het ook niet.

Verwijderd

Topicstarter
Ik denk dat ik hier wel iets aan heb. Iemand anders bekend met dit commando?
Thanx!

Verwijderd

Topicstarter
Helaas, fscommand("trapallkeys","true"); is niet bedoeld om alle keys in flash af te vangen. Het is om de Ctrl-> enzo uit of aan te zetten. Dus de toetsencombinaties die de flash movie player kunnen beinvloeden. Iemand anders een idee?

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

gewoon in de pagina zelf, mbv javascript alle keys checken, als deze dan F5 is, dan return je false :)


tip 1: onKeyDown
tip 2: 116

:)

"You're only as good, as what you did last week."


Verwijderd

Topicstarter
dat doe ik al.

Ik zei in mijn post:
"Dus heb ik in de HTML code met een java scriptje ingesteld dat er niet op F5 gedrukt kan worden. Maar als de flash movie de focus heeft en iemand klikt op refresh of F5 dan refreshed de pagina gewoon."

Met andere woorden:
Flash overruled het javascript in de html pagina.

Of bedoel je een javascript in mijn Flash movie maken? En als dat het geval is hoe doe ik zoiets?

[ Voor 16% gewijzigd door Verwijderd op 24-01-2003 12:37 ]


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

sorry daar had ik even overheen gelezen. Maar tis nogal gek, je kunt in Flash namelijk wel checken welke key er word ingedrukt, maar dat werkt bij sommige keys gewoon niet, die worden namelijk gewoon uitgevoerd...zat ik nog aan te denken om de key events door te routeren naar de browser maar dat werkt ook niet echt.....

ik denk dat ik er nog even mee ga werken, enige oplossing totnutoe is de onbeforeunload ( IE only ) te gebruiken, maar dan krijg je nog steeds een warning. Dit is wat ik totnutoe heb..to be continued...

Flash ActionScript:
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
28
29
30
31
FSCommand(trapAllKeys,true);

myOnKeyDown = new Object();

myOnKeyDown.onKeyDown = function() {
    if (Key.getCode() == 116) {
        this.myTrace("F5 pressed");
    } else {
        this.myTrace("You pressed " + Key.getCode());
    }
    getURL("javascript:myOnFlashKeyDown("+Key.getCode()+");");
}

myOnKeyDown.onKeyUp = function() {
    this.myTrace("");
}

myOnKeyDown.onMouseDown = function() {
    this.myTrace("received focus");
}

myOnKeyDown.onMouseUp = function() {
    this.myTrace("");
}

myOnKeyDown.myTrace = function(str) {
    output.text = "Output:\n" + str;
}

Key.addListener(myOnKeyDown);
Mouse.addListener(myOnKeyDown);


en

JavaScript:
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
28
29
30
31
32
33
34
35
36
37
function myOnKeyDown() {
    if ( event.keyCode == 116 ) {
        event.keyCode = 0;
        event.returnValue = false;
    }
}

function myOnFlashKeyDown(FKey) {
    switch (FKey) {
        case 37:
            alert("You pressed left");
            break;
        case 38:
            alert("You pressed up");
            break;
        case 39:
            alert("You pressed right");
            break;
        case 40:
            alert("You pressed down");
            break;
        case 116:
            alert("You pressed F5");
            event.keyCode = FKey;
            event.returnValue = false;
            break;
        default:
            break;
    }
}

function myOnUnload() {
    return "";
}

//window.onbeforeunload = myOnUnload
document.onkeydown = myOnKeyDown;


uncomment die regel 36 eens en check wat ik bedoel :)

"You're only as good, as what you did last week."


Verwijderd

Topicstarter
Hier heb ik al heel veel aan! Ik heb hetvolgende gekopieerd.

function myOnUnload() {
return "";
}
window.onbeforeunload = myOnUnload

Werkt uitstekend. Het zou inderdaad mooi zijn als de melding niet zou worden gegeven. En als de vraag die die stelt alleen bij de refresh actie komt. Nu komt hij ook als je het scherm probeerd af te sluiten. Maar ik ben hier in ieder geval al een heel stuk mee geholpen! Thx
Pagina: 1