Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Ajax und das SWFObject“

Hi zusammen.
ich hab ein kleines Problem mit dem SWFObject.

folgende Situation:

  1. Auf einer Seite wird via PHP ein SWFObject über das Auslesen der URL erzeugt.
  2. Auf dieser Seite sind verschiedene Kunden aus einer Datenbank aufgeführt
  3. Beim Klick auf einen Kunden sollen über Ajax die Projekte aus der Datenbank ausgelesen und wiedergegeben werden. zusätzlich soll die Flashdatei ersetzt werden durch entweder eine andere SWF oder ein Bild.
  4. Mein PHP Script mit dem Auslesen der Datenbank und dem response Element in Ajax funktionieren. Ich bekomme von Ajax das zurück was ich möchte in der richtigen Formatierung.
  5. Jetzt ist aber das Problem das das SWFObject nicht die SWF aktualisiert. Und immernoch die alte (bereits geladene Datei) anzeigt.
Hier meine handleRespone
PHP:
function handleResponse() {
  if((resObjekt.readyState == 4) && (resObjekt2.readyState == 4) && (resObjekt3.readyState == 4)){
    document.getElementById("dynCont").innerHTML = resObjekt.responseText;
    document.getElementById("LogoAktuell").innerHTML = resObjekt2.responseText;
    document.getElementById("MainTeaser").innerHTML = "";
    document.getElementById("MainTeaser").innerHTML = resObjekt3.responseText;
    so.addParam("wmode", "transparent");
    so.write("MainTeaser");
    var box = {};
    window.addEvent('domready', function(){
    box = new MultiBox('mb', {descClassName: 'multiBoxDesc', useOverlay: true});
    });
  }
  else
  {
    document.getElementById("dynCont").innerHTML = "<center><img src='images/design/load.gif' /></center>"
    }
}
Ich hoffe mir kann jemand helfen bin am verzwifeln
 

Chickenshooter

Alter Mann

AW: Ajax und das SWFObject

Moin,

so etwas ähnliches hatte ich auch schon mal, allerdings mit der GD-Lib und

vom Server ertsellten Bilder das Problem, so denke ich, ist der Browser Cache.

Schreib dir einfach noch ne php Datei die Dir diese SWF erzeugt, wichtig ist

das in dieser Datei ein Header gesetzt wird mit der Method:

PHP:
header("Content-type: image/png");

in meinem Fall hier kommen nun png Daten.

in Deinem Fall müsste das Content-type: application-x/swf sein,

da will ich mich aber nicht festlegen.

MfG Chick
 
AW: Ajax und das SWFObject

Hi Chickenshooter,

danke für die schnelle Antwort. Jedoch hilft es mir nicht weiter.
Die SWF wird nicht neu initialisiert das ist das Problem...

Über ein PHP Script wird ja ermittelt was in der Datenbank steht und in abhängikeit dieser wird dann entschieden was das Script an Ajax übergibt.
Entweder Flash oder Bilddatei.
 

Chickenshooter

Alter Mann

AW: Ajax und das SWFObject

Wie sieht denn dein Ajax Response aus.

An was für eine Datei (php?) sendest Du die

Daten?

Ich versuch mir ein Gesamtbild zu verschaffen.


Wenn Du es etwas leichter brauchst mit Ajax

nimm Dir am besten ein Framework sowie

kostet nix und darf frei verwendet werden.

Mit diesem Framework und Script.aculo.us hast Du dann auch noch Animationen etc. mit drinne.

Klasse Teil mit super Dokumentation.

MfG Chick
 
Zuletzt bearbeitet:
AW: Ajax und das SWFObject

in der php Datein wird die Datenbank ausgelesen.
Je nachdem was für ein Kunde es ist muss ein individueller Banner kommen.
Das Steuert die PHP datei.

Lauf Firebug bekomm ich alles komplett zurück unr ist das erneute starten des swfObject das Problem.

hier mal die anfrage von Ajax:
PHP:
function sndReq(a, b){
    resObjekt.open('get', 'scriptephp/branchen.ajax.php?kundenid=' + a ,true);
    resObjekt.onreadystatechange = handleResponse;
    resObjekt.send(null);
    resObjekt2.open('get', 'scriptephp/branchen2.ajax.php?kundenid=' + a ,true);
    resObjekt2.onreadystatechange = handleResponse;
    resObjekt2.send(null);
    resObjekt3.open('get', 'scriptephp/branchen3.ajax.php?kundenid=' + a + '&sub=' + b ,true);
    resObjekt3.onreadystatechange = handleResponse;
    resObjekt3.send(null);    
    }
    

function handleResponse() {
  if((resObjekt.readyState == 4) && (resObjekt2.readyState == 4) && (resObjekt3.readyState == 4)){
    document.getElementById("dynCont").innerHTML = resObjekt.responseText;
    document.getElementById("LogoAktuell").innerHTML = resObjekt2.responseText;
    resObjekt3.responseText;
    so.addParam("wmode", "transparent");
    so.write("MainTeaser");
    var box = {};
    window.addEvent('domready', function(){
    box = new MultiBox('mb', {descClassName: 'multiBoxDesc', useOverlay: true});
    });
  }
  else
  {
    document.getElementById("dynCont").innerHTML = "<center><img src='images/design/load.gif' /></center>"
    }
}

und hier die branchen3.ajax.php

PHP:
<?php
$host = "localhost"; //Der MySQL-Server
$user = "USER";// Der Datenbank Benutzername
$password = "PASS"; //Das Passwort f�r die Datenbank
$dbname = "NAME"; //Der Name der Datenbank
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * FROM kunden, navigation WHERE kunden.kundenid = '".$_REQUEST['kundenid']."' AND navigation.subkategorie = '".$_REQUEST["sub"]."'";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

    if ( ! $result ) 
    {
        die("Konnte Datensätze nicht auslesen");
    }
    $anzahl =  mysql_num_rows( $result );
    
    
        for( $i = 1; $i <= $anzahl; $i++ ){
    $datensatz = mysql_fetch_array( $result );
        
        if(isset($datensatz["kundenbanner_swf"]) && $datensatz["kundenbanner_swf"] != "")
            {
            ?>
            
                <script type="text/javascript">
                    // <![CDATA[
                    var so = new SWFObject("<?php echo $datensatz["kundenbanner_swf"]; ?>", "sotester", "823", "363", "8", "#FF6600");
                    
                                    
                    // ]]>
                </script>
            
            <?php
            }
        elseif(isset($datensatz["kundenbanner_jpg"]) && $datensatz["kundenbanner_jpg"] != "")
            {
            ?>    
                <img src="<?php echo $datensatz["kundenbanner_jpg"]; ?>" alt="<?php echo $datensatz["subkategorie"]; ?> Banner" width="823" height="363" />
            <?php
            }
        elseif(isset($datensatz["kundenbanner_jpg"]) && isset($datensatz["kundenbanner_swf"]) && $datensatz["kundenbanner_jpg"] != "" && $datensatz["kundenbanner_swf"] != "")
        {
        ?>
            <script type="text/javascript">
                    // <![CDATA[
                    var so = new SWFObject("<?php echo $datensatz["kundenbanner_swf"]; ?>", "sotester", "823", "363", "8", "#FF6600");
                    // ]]>
            </script>
        <?php
        }
        
        else
        {
            if(isset($datensatz["banner_swf"]) && $datensatz["banner_swf"] != "")
            {
            ?>
                <script type="text/javascript">
                    // <![CDATA[
                    var so = new SWFObject("<?php echo $datensatz["kundenbanner_swf"]; ?>", "sotester", "823", "363", "8", "#FF6600");
                    // ]]>
                </script>
            <?php
            }
            elseif(isset($datensatz["banner_jpg"]) && $datensatz["banner_jpg"] != "")
            {
            ?>
                <img src="<?php echo $datensatz["banner_jpg"]; ?>" alt="<?php echo $datensatz["subkategorie"]; ?> Banner" width="823" height="363" />
            <?php
            }
            else
            {
            ?>
                <img src="images/dummiePics/MainTeaserPic.jpg" alt="platzhalter" />
            <?php
            }
        }
        
    }
    ?>


Vielleicht ein wenig unsauber aber bin noch net solang in der Geschichte drin ;o)
 

Chickenshooter

Alter Mann

AW: Ajax und das SWFObject

das hier:
PHP:
for( $i = 1; $i <= $anzahl; $i++ ){
    $datensatz = mysql_fetch_array( $result );
löst man im Allgemeinen so
PHP:
while( $datensatz = mysql_fetch_array( $result ) )
{
    /* hier wieder dein Code */
}
sieht doch elegant aus oder?? ;)

steht das was resObjekt3.responseText; zurück liefert

dann auch auf Deiner Seite im
Quelltext?

Wichtig anstatt der Superglobalen Var. $_REQUEST solltest Du in diesem

Fall nur die Superglobale Var $_GET nehmen, denn $_REQUEST enthält

normalerweise immer diese 3 $_GET, $_POST, $_COOKIE.

Und besser wäre eine php Datei für die Reqestverabeitung sende einfach

noch eine "Steuerungsvariable" mit zb. &toDo=1 oder &toDo=2 ...

diese kannst Du dann mit einem Switch Block in der einen php Datei

auswerten.


Das hier kann raus wird schon im ersten if geprüft

PHP:
elseif(isset($datensatz["kundenbanner_jpg"]) && isset($datensatz["kundenbanner_swf"]) && $datensatz["kundenbanner_jpg"] != "" && $datensatz["kundenbanner_swf"] != "")
        {
        ?>
            <script type="text/javascript">
                    // <![CDATA[
                    var so = new SWFObject("<?php echo $datensatz["kundenbanner_swf"]; ?>", "sotester", "823", "363", "8", "#FF6600");
                    // ]]>
            </script>
        <?php
        }
 
Zuletzt bearbeitet von einem Moderator:
AW: Ajax und das SWFObject

Danke dir.

Der lezte Teil kann net raus. der soll überprüfen wenn in dieser Tabelle nichts steht soll er das aus der anderen Tabelle nehmen :eek:)

Der Text wird agezeigt nur ist das Problem das das per Ajax nachträglich in die Seite geladene Script nciht ausgeführt wird. Mit Prototype soll es zu lösen sein hab ich nen Forum gelesen noch nur leider kenn ich mich damit noch net aus. Arbeite wie gesagt erst seid ein paar Tagen mit JS
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.182
Beiträge
2.582.049
Mitglieder
67.254
Neuestes Mitglied
MKP
Oben