Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Variable von Flash in JS-Function übernehmen... [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Variable von Flash in JS-Function übernehmen...


 
Metallica
22-11-2001, 13:06 
 
Hi Leute!

Die Variable beenden bekomme ich von Flash mit Wert true und will diese an meine function winclose übergeben.
Das Problem: ich setze die Var. vorher in JS defaultmäßig auf false und das ist auch gut so.
Kommt allerdings von Flash "beenden=true", dann soll der die defaulteinstellung ignorieren und "true" in die fuction übernehmen.

Von Flash schick ich's folgendermaßen rüber:
on (release) {
beenden = true;
getURL ("java script:winclose ("+beenden+");");
}

<script language="JavaScript">
beenden=false;
function winclose(beenden){
if(beenden == false) {
Check = confirm("Wirklich beenden?");
} else {
window.close();
}
if(Check == false) window.open("myfile.htm","","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
}
</script>

Könnt ihr mir da helfen??

[Editiert von Metallica am 22-11-2001 um 13:33]

 
Metallica
22-11-2001, 14:58 
 
Ich hab den code jetzt umgedreht und die globale deklaration "beenden=false;" rausgenommen. Die war nämlich daran schuld, dass die Var. nie "true" werden konnte.

Jetzt hab ich allerdings das Problem, dass der Browser solange nicht in die If reinkommt bis beenden true ist.
Mein Ziel: Er soll immer in die If reinkommen und solange von Flash nicht "true" kommt soll er in die else reinkommen und confirm ausführen.

Könnt ihr mir da weiterhelfen??

<script language="JavaScript">
function winclose(beenden){
if(beenden == true) {
window.close();
} else {
Check = confirm("Wirklich beenden?");
}
if(Check == false) window.open("myfile.htm","","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
}
</script>

 
Sky
22-11-2001, 16:58 
 
Wann könnte denn z.B. was von Flash kommen?

 
Metallica
23-11-2001, 10:23 
 
naja, ich erklärs mal:
ich hab da so ein flashspiel. wenn der user während des spiels auf "x" klickt dann soll die confirm-meldung "wirklich beenden?" kommen. Drückt er bei der confirm auf OK dann ist's geschlossen. Sagt der hingegen "Abbrechen" dann lädt sich das flashfile neu und er kann wieder spielen.
In diesem fall soll die variable beenden immer false sein damit er confirm bringt.

Im Flashspiel hab ich aber am Ende des Spiels einen Button "beenden". Wenn er den drückt, dann handelt es sich ja um ein - sag ich mal - "korrektes" beenden und er soll in javascript nicht in die confirm reingehen, sondern einfach window.close ausführen.
Dafür sende ich ja beenden = true rüber.

Das Problem bei JS: Wenn ich beenden defaultmäßig auf false setze, behält die Variable (oder in diesem Fall Konstante) immer diesen Wert und ignoriert "true" von Flash.

Deshalb hab ich jetzt mal versucht, die Var. auf ihre Existenz zu prüfen. Denn solange von flash kein true kommt und ich beenden nicht in JS setze, existiert die Var. nicht und ich weiß, dass ich in die confirm rein muss.
Dazu hab ich folgendes versucht:
if (typeof(beenden) != 'string') {
beenden = false;
}
function winclose(beenden){
if(beenden == true) {
window.close();
} else {
Check = confirm("Wirklich beenden?");
}
if(Check == false) window.open //Erklärung:Click auf Abbrechen=>Check = false;("myfile.htm","","toolbar=no,menubar=no,resizeable=no,width=720,height=500");
}

geht aber auch nicht, denn wenn ich testweise beenden=true setze kommt auch 'ne confirm. Allerdings nicht meine ("wirklich beenden?"), sondern "Der Browser versucht die Website zu schließen. Ja oder nein?". In beiden Fällen schließt er das fenster. Ich hab aber keine Ahnung wo diese Confirm herkommt?????

[Editiert von Metallica am 23-11-2001 um 10:28]

 
Sky
23-11-2001, 10:38 
 
Der Hinweis kommt vom Browser...

Wie das jetzt nun aussehen muss, damit es funktioniert, weiß ich allerdings auch nicht... Ich überleg es mir vielleicht später noch einmal.

 
Metallica
23-11-2001, 10:42 
 
JA bitte Sky.
Ich hab echt schon jede Referenz durch. Wenn das nicht mit der Existenz checken funkt, dann weiß ich echt nicht weiter.

 
Metallica
24-11-2001, 11:05 
 
kann mir vielleicht noch jemand anderer zu diesem Thema weiterhelfen????

bin echt am ende mit meinem latein

 
Titus
27-11-2001, 21:31 
 
mach die Abfrage doch in Flash ... wenn dann bei "Wirklich beenden" ein JA kommt, beendest du Flash einfach mit einer Weiterleitung an die Seite, die halt als nächstes aufgerufen wird.

 
Metallica
28-11-2001, 13:03 
 
@Titus:
genau das ist ja das Problem. Ich hab in Flash da 'nen "END"-Button gemacht und wenn der gedrückt wird sende ich wie folgt an JS:
on (release) {
beenden = true;
getURL ("java script:winclose ("+beenden+");");
}

D.h. es wird keine weitere htm mehr aufgerufen, sondern das window geschlossen.

 
Titus
28-11-2001, 17:18 
 
Ich meinte eigentlich, dass du einfach einen neuen Frame in die Flash-Datei einfügst, in dem du die Abfrage veranstaltest. Den Frame rufst du bei Klick auf END auf.
Bei Klick auf "aber sicher!" schließt du das Fenster, bei Klick auf "nö, nochmal von vorn" geht´s im ersten Frame weiter.

 
Metallica
28-11-2001, 19:14 
 
hmmm, verstehe nicht ganz wie du das meinst.

ich versuche, das problem nochtmal genauer zu erklären:
in der "myfile.htm" ist das flashfile drinnen, das beim Aufruf dieser Seite geladen wird.
wenn der user dieses window wieder schließen will, hat er zwei möglichkeiten:
Entweder übers "x" => dann soll 'ne confirm-message kommen die ich im javascript-teil der myfile.htm drinnen habe
oder
über den END-Button der im Flash file drinnen ist => drückt er diesen, dann soll sich das fenster OHNE confirm schließen.

Verstehst du's??

 
Titus
29-11-2001, 18:34 
 
hmm ... das funzt nicht.
onUnload ermöglicht die zwar, bei Schließen des Fensters ein anderes zu öffnen; aber du kannst nicht verhindern, dass der Nutzer das Fenster mit dem X am Windows-Window schließt. (Wenn ich dich jetzt richtig verstanden habe, meinst du jenes X)

 
Metallica
29-11-2001, 20:58 
 
jaja, das ist schon klar, dass ich ihm am X nicht hindern kann.
er soll es auch so schließen können.
nur soll dann eben die confirm kommen, was er ja auch macht.

es soll nur dann KEINE confirm kommen, wenn er das window über meinen Flash-button "END" schließt.
deshalb sende ich ja "beenden=true" von flash an JS.
Aber genau dieser teil funtzt nicht!
dafür muss es doch 'ne lösung geben. Nur welche??

 
Metallica
01-12-2001, 15:37 
 
Titus???

 
Titus
04-12-2001, 19:31 
 
hab drüber nachgegrübelt.

Leite beim Klick auf beenden an eine (HTML-)Seite weiter, die das Fenster ohne confirm schließt.

 
Metallica
05-12-2001, 15:36 
 
achso, sorry.

meinst du das so:
flashfile:
getURL ("beenden.htm", "_self");

beenden.htm:
<script language="JavaScript">
function end() {
window.close();
}
</script>
</head>

<body bgcolor="#003300" text="#000000" onLoad="end()">


wenn ich die beenden.htm im browser öffne, dann kommt aber jetzt jedesmal die meldung "Die angezeigte Website versucht, das Fenster zu schließen. Soll das Fenster geschlossen werden?" JA/NEIN

kann ich diese meldung irgendwie wegkriegen??

 
Metallica
06-12-2001, 23:03 
 
vergiß es, hat sich erledigt.

trotzdem many thanxs!!!


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:53 Uhr.