Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-12-2008, 22:27   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 9
Question Aufruf einer Javascript Funktion aus einer Flash-Navi

Hallo Leute, versuche hier schon seit mehreren Stunden meine JS Funktion durch meine Navi(Flash) aufrufen zu lassen, doch scheitere soweit kläglich.

Die Funktionen getURL, fscommand sowie ExternalInterface[.call] zeigen kein positives Ergebnis, darum habe ich mich entschieden, hier im Forum nach Rat zu fragen.

Der Klick auf den Button, soll folgende Funktion hervorrufen, die im head-Tag implementiert ist:
Code:
 function homeload() {
AjaxLoad('content/hnav1.php', 'snav1');
AjaxLoad('content/hnav2.php', 'snav2');
AjaxLoad('content/hnav3.php', 'snav3');
AjaxLoad('content/news_content.php', 'content');
FadeOpacity("snav1",0,100,2200,15);
FadeOpacity("snav2",0,100,2500,15);
FadeOpacity("snav3",0,100,2800,15);
FadeOpacity ("content", 0, 100, 3000, 15);
 }
Diese Funktion habe ich einem normalen Button zugewiesen und sie funktioniert einwandfrei. AjaxLoad lädt verschiedene Inhalte in verschiedene Divs beim onclick() und diese werden schließlich durch FadeOpacity schrittweise eingeblendet.
Wenn ich versuche die Funktion homeload() irgendwie mit Flash zu verknüpfen, passiert wie gesagt garnichts.

Anzuschauen gibts das Ganze hier: http://os-finest.com/v2prev/
(Die 3 Optionsbuttons recallen jeweils nur Inhalt in einen einzigen Div:
Code:
 function news_recall() {
AjaxLoad('content/news_content.php', 'content');
FadeOpacity ("content", 0, 100, 1500, 20);
 }
  function nevent_recall() {
AjaxLoad('content/nevent_content.php', 'content');
FadeOpacity ("content", 0, 100, 1500, 20);
 }
   function reg_recall() {
AjaxLoad('content/reg_content.php', 'content');
FadeOpacity ("content", 0, 100, 1500, 20);
 }
Ich hoffe ich kann hier auf Hilfe stoßen.
Regards,

Jealousy
Jealousy ist offline   Mit Zitat antworten
Alt 02-12-2008, 23:32   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Zitat:
Zitat von Jealousy Beitrag anzeigen
Die Funktionen getURL, fscommand sowie ExternalInterface[.call] zeigen kein positives Ergebnis
das, was nicht geht zeigst du uns hier leider nicht. so kann keiner sagen, was eventuell nicht stimmt.

erstelle doch ein einfaches beispiel, das eine einfache javascript-funktion aufruft.

das mit AJAX und das ganze drumherum kannst du ja später ergänzen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 03-12-2008, 00:13   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 9
Ausprobiert habe ich folgende Sachen:

Es ist eine Schaltfläche, der ich folgenen Actionscript angefügt hatte:
Code:
import flash.external.*;
on (release) {
ExternalInterface.call("homeload");
}
oder

Code:
on (release) {
 getURL("javascript:homeload()");
}
oder

Code:
on (release) {
fscommand("homeload");
}
dazugehörig natürlich auch der js in der html:
Code:
<script type="text/javaScript">
function navi_DoFSCommand(command) {
 if (command == "homeload") {
 homeload();
 }
}
</script>
Ich bin echt ratlos
Hier nochmal die einbindung der SWF:
Code:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" id="navi" width="900" height="296" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="navi.swf" />
<param name="menu" value="false" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="bgcolor" value="#ffffff" />
<embed src="navi.swf" menu="false" quality="high" wmode="transparent" bgcolor="#ffffff" width="900" height="296" swLiveConnect=true id="navi" name="navi" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer_de" />
</object>

Ich hoffe dass ich damit alle soweit erforderlichen Informationen gebracht habe.

Regards
Jealousy ist offline   Mit Zitat antworten
Alt 03-12-2008, 01:01   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
in der flash-hilfe steht ein bisschen mehr, wie man z.b. ExternalInterface benützt.
Angehängte Dateien
Dateityp: zip ExternalInterface.zip (5,7 KB, 41x aufgerufen)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 03-12-2008, 01:17   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 9
Ja, die habe ich mittlerweile auch schon studiert, nur werde ich da leider nicht schlau draus.
Die Ergebnisse nach dem Test sehen so aus:

Code:
ExternalInterface ist: true
fJS2AS angemeldet ist: true
AS->JS->AS: test777
fJS2AS: JS->AS: test333
Was letztendlich funktioniert denn nicht? Ich meine dass ich andere Threads gelesen habe wo die getURL Methode einwandfrei funktioniert.
Wo liegt bei mir das Problem? Ist ja letztendlich "nur" ein Aufruf einer normalen Funktion.
Jealousy ist offline   Mit Zitat antworten
Alt 03-12-2008, 14:18   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ExternalInterface ist: true <-------- dein browser kann ExternalInterface
fJS2AS angemeldet ist: true <--------- in flash wurde die javascript-funktion fJS2AS angemeldet, damit javascript etwas an das flash senden kann
AS->JS->AS: test777 <----------- fAS2JS hat was zu javascript gesendet (alert) und das schickt das ergebnis an flash zurück
fJS2AS: JS->AS: test333 <-------- via button sendet javascript etwas zum flash

du hast jetzt eine version die auch bei dir funktioniert. nimm sie als vorlage.

wenn du dein zeugs gezipt hier hochgeladen hättest, dann hätte jemand nachsehen können. mit deinen scriptfragmenten selbst etwas nachbauen um dann erkennen wollen, was bei dir nicht geht, hat wenig sinn und dazu habe ich auch keine lust ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (03-12-2008 um 14:22 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 03-12-2008, 14:26   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 9
Zitat:
Zitat von hgseib Beitrag anzeigen
du hast jetzt eine version die auch bei dir funktioniert. nimm sie als vorlage.

wenn du dein zeugs gezipt hier hochgeladen hättest, dann hätte jemand nachsehen können. mit deinen scriptfragmenten selbst etwas nachbauen um dann erkennen wollen, was bei dir nicht geht, hat wenig sinn und dazu habe ich auch keine lust ;-)
Die Erkenntnis lag im Tiefsten des Ozeans.
Der Ext.Intf. Code hatte keinen Fehler. Der Fehler lag am Button.
Da der on (release) Befehl auf der untersten Ebene des Buttons liegt, musste ich deren Schlüsselbilder auch auf die 3 anderen (Über, Gedrückt,Aktiv) übertragen, weil der Button ja animiert ist und die anderen Ebenen weiter als 'Auf' gehen.

Funktioniert nun wunderbar.
Vielen Dank trotzdem.
Jealousy ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
flash, funktion, javascript

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele