Antworten auf deine Fragen:
Neues Thema erstellen

Probleme beim Include mit Switch

Whykiki

Komischer Typ und Köter

Hallo,

ich habe ein Template für eine Seite gebaut und nutze dafür nun include mit switch. Im "Header" befindet sich eine Flash-Animation, die auch mit einem Sound unterlegt ist. Ich wollte es nun so haben, dass der Header oben immer stehen bleibt, ohne dass sich die Seite jedes Mal neu lädt, weil dann natürlich auch die Musik in dem Flash-Film jedes Mal von neu startet.

Deshalb habe ich das included mit switch, siehe Code unten. Trotzdem wird die Seite aber immer wieder nue geladen, funzt zwar alles, aber der Sound startet dadurch auch jedes Mal von neu.

Wie bekomme ich es hin, dass der Header nciht mehr neu geladen wird, sondern immer fest oben stehen bleibt???? Hat einer eine Idee??

Ich danke euc h!!

Code:
....
<div id="header">Hier ist mien Flash-Header drin</div>

<div id="content">
<?php$seite = (isset($_GET['seite']))?
$_GET['seite'] : '';switch ($seite) 
{default :case "standardseite" :include("standarddatei.php");
break; 

case "seite2" :include("datei2.php");
break;

case "seite3" :include("datei3.php");
break;}?>
</div>
 

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

Hallochen,

ich hatte es befürchtet, aber wollte es nicht wahr haben....geht tatsächlich nur die Frame-Krücke????

Gibt es keine anderen, eleganteren Lösungen???
 

Duddle

Posting-Frequenz: 14µHz

AW: Probleme beim Include mit Switch

AJAX

Edit: Blödsinn, es braucht nichtmal AJAX. Einfaches JavaScript zum Manipulieren des DOM-Trees reicht da auch schon.


Duddle, den Flash-Musik im übrigen sehr nervt, besonders wenn sie ohne den Nutzer zu fragen abgespielt wird
 
Zuletzt bearbeitet:

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

Hallo,

erst einmal zu meiner Rechtfertigung: Es geht hierbei um "Schlagerduo", welches wiederum viel Wert darauf legt, dass ihre Musik beim Start der Seite zu hören ist. Die wollen das so, ich mache also nur meinen Job...(übrigens grausamer Schlager-Sound, aber das steht auf einem anderen Blatt). Blöderweise startet aber nun der Sound jedes Mal neu, sobald ein Button geklickt wird.

@duddle od. sfischer:

Kann mir da mal einer von euch auf die Sprünge helfen?? Ich bin total überfragt, ich habe keine Ahnung, wie man sowas mit JS lösen kann. DOM-Tree manipulieren???

Ich suche natürlich auch parallel weiter....hab das was gefunden, dass es wohl mit der "SharedObjects-Klasse" auch gehen soll, nur hab ich keine Ahnung wie oder was...!!!

Es muss ja irgendwie machbar sein, dass ich nicht auf so blöde Frames zurückgreifen muss, oder??
Weil dann habe ich ja wieder ein Problem mit den SuMa's....und genau das wollte ich verhindern...!!!!
 

Fanatic

Aktives Mitglied

AW: Probleme beim Include mit Switch

wie schon von duddle erwähnt wurde, kannst du dafür auch ajax nehmen.

einfach zwei divs (navigation und content) und AJAX zum includen der Dateien in den content-div.

unter folgendem link findest du einen kleinen einstieg zu ajax und kannst damit dein problem lösen. einfach die scripts entsprechend anpassen.

Ajax Tutorial
 

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

Vielen Dank erst einmal.

Nochmal zu AJAX: IST das in irgendeiner Weise schädlich in Bezug auf Suchmaschinen u.s.w. ??
Oder kann ich das bedenkenlos einsetzen?
 

sokie

Mod | Web

AW: Probleme beim Include mit Switch

Das hört sich immer so einfach an - 'per Javascript'
Du musst dabei berücksichtigen, dass das Javascript die ganzen Inhalte handlen muss, wenn diese ausgetauscht werden sollen.

Hier ein Beispiel (das Flash hab ich eben auf die schnelle reingefrickelt)

inhalte per Suchmaschine zu finden,die per Ajax in die Seite geladen werden ist noch tödlicher als frames - letztere können wenigstens gefunden und per URL angesprochen werden
 
Zuletzt bearbeitet:

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

Ja in der Tat hört es sich einfacher an, als es für mich jetzt ist. Hab von JS absolut keine Ahnung.

ABER: @sokie

Genau wie dein Beispiel soll es sein. Das ist ja der Hammer. Zwar hab ich dann keine sprechenden URLs mehr, aber darauf würd ich noch verzcihten, wenns nicht anders geht.

Wie hast du das denn nun gemacht?? Wie include ich die Dateien? Und wie rufe ich dann die einzelnen Seiten wieder aus Flash auf??
Mit include hab ich ja einfach die Links zusammengesetzt und auf den jew. Button in Flash gepackt.

Bei JS hab ich null Ahnung....würde mich freuen, wenn du das anstzweise umreissen könntest.
Aber es muss in jedem Fall SuMa tauglichj bleiben, die AJAX-Variante fällt also auf jeden Fall raus!!!!!!
 

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

Habe mir gerade mal das letzte Beispiel noch mal genauer angeschaut....noch mal bezogen auf Suchmaschinen....der gesamte Text ist ja damit in einer JS-Datei abgelegt. Inwiefern kann das denn nun noch via SuMa gefunden bzw. ausgelesen werden???

Ich habe weiterhin auch selber noch gesucht und folgendes gefunden:

Code:
<?php 

session_start(); 

if(!isset($_SESSION["playFlash"])) 
{ 
   $_SESSION["playFlash"] = 1; 
} 
else 
{ 
   $_SESSION["playFlash"] = 0; 
} 

?> 


Then you can use PHP to create your flashVar information in the <object> and <embed> tags:

Code:
<object.....

<param name="flashVars" value="playFlash=<?php echo $_SESSION["playFlash"]; ?>" />

<embed flashVars="playFlash=<?php echo $_SESSION["playFlash"]; ?>".....

Kann das so auch klappen???
 

sokie

Mod | Web

AW: Probleme beim Include mit Switch

alle rein Serverseitigen Überlegungen kannst du im Prinzip vergessen. Da geht es ja immer um eine von PHP erzeugte HTML Ausgabe, die dann vom Server angefordert werden muss. das geht nur über das neuladen deiner Seite. (hier dann mit dem Vorteil, dass man es auch an der URL festmachen kann, aber mit dem Nachteil, dass deine Musik abbricht, wenn die Seite neu geladen wird. Das könntest du zwar clientseitig machen (zB über einen XMLHTTPRequest) - aber dann hast du noch nicht für deine Inhalte gesorgt. also der Player kann einfach von Anfang an in der Seite sein.
In meinem Beispiel habe ich die Inhalte in eine .js Datei geschrieben, wie du ja schon gesehen hast. Diese wird beim Seitenaufruf komplett geladen (<script src="meinscript.js"></script>) und stehen zur verfügung. Durch die Notierung in json habe ich sofort ein Objekt mit dem ich arbeiten kann (ähnlich einem mehrdimensionalen Array).
analog zum 'include' in PHP wird bei dem Javascript der entsprechende text per document.getElementById("meinContainer").innerHTML in das entsprechende div eingefügt. (mit dem Vorteil dass es hier 'nutzergetrieben' dh."onclick" geschieht und nicht erst beim neuladen.

inwieweit die .js dateien von den Suchmaschinen berücksichtigt werden weiss ich nicht - ich glaube aber kaum, dass das überhaupt geschieht.
 

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

Vielen Dank erst einmal für die Hilfe!!!

Heisst also im Klartext: Das JS-beispiel KÖNNTE und wird wahrscheinlich eher hinderlich sein für die SuMa's

Mir blieben also nur noch die Alternativen Frames....oder ich muss dann, wie von duddle angemerkt, den Sound standardmässig aus lassen, so dass er erst per Klick eingeschaltet wird.

Schade! Nun ja, so bin ich beim nächsten Mal schlauer und bau sowas wieder komplett in Flash. Ist wohl einfacher. Frames kommen auf keinen Fall mehr auf die Seite ;-))
 

Duddle

Posting-Frequenz: 14µHz

AW: Probleme beim Include mit Switch

bin ich beim nächsten Mal schlauer und bau sowas wieder komplett in Flash

Oh ja, Flash ist extrem suchmaschinenfreundlich. /s

Das interessiert mich jetzt^^

JavaScript tutorial - DOM nodes and tree

Und selbst das ist in dem Fall wohl Overkill. Ein "Alles-Laden,-Ausblenden-Und-Später-Mit-JavaScript-Einblenden"-Ansatz würde auch schon funktionieren (etwas anderes wird ja bei dem o.g. JSON-Ansatz auch nicht gemacht).



Duddle
 

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

@duddle:

Das Flash BISHER nicht SuMa-freundlich ist, weiß ich auch (aber Google arbeitet wohl dran, die Inhalte einlesen zu können)

Ich habe es bisher aber immer so gemacht, dass ich (wenn ich eine komplette Flash-Seite gebaut habe) zusätzlich ein Pendant als HTML erstellt habe. Eine Art Sitemap....reines HTML ohne Grafiken u.s.w.
So wurde die Seite in jedem Fall gefunden.

Hier wollte ich mir die Arbeit eben sparen und eben INhalte als HTML direkt darstellen.

Und da ich nun vor so blöden Problemen sitze, verfahre ich bald lieber wieder nach dem "alten" Weg (heisst: Full-Flash + Sitemap)

Auch wenn ich das "Problem" nicht in den Griff bekomme, ganz verblödet bin ich nicht ;-)

Übrigens: Ich werd's nun nach "deiner Lösung" machen --> Sound standarmässig aus und erst einschaltbar per Click. Ende aus Micky Maus, alles andere sind ja nur "Krücken".

Ich danke allen, die mir geholfen habe, auch wenn ich nun einen Schritt zurückgehe, so habe ich doch ne Menge daraus gelernt. Beim nächsten Projekt plane ich wieder anders.

Gruss Kiki
 

Duddle

Posting-Frequenz: 14µHz

AW: Probleme beim Include mit Switch

Sound standarmässig aus und erst einschaltbar per Click. Ende aus Micky Maus, alles andere sind ja nur "Krücken".

Auch wenn das lobenswert ist, warum machst du es nicht per "Alles-Laden-Und-Erst-Per-JavaScript-Einblenden"? Ich glaube, für deine Anwendung wäre das noch mit das Beste (es sei denn, die Seite ist wirklich komplex).
Dann könnte ein Spider alles einlesen (weil ohne JS + CSS ja alles sichtbar ist) und ein aus- und einblenden des gewünschten Contents würde keinen Reload der Seite bedeuten.
Ausserdem gibt es dafür fertige JS-Bibliotheken (wobei ich selbst nur moo.fx kenne), ne gewisse Arbeit wäre dir also schon abgenommen.


Duddle
 

Whykiki

Komischer Typ und Köter

AW: Probleme beim Include mit Switch

Ich bin ganz ehrlich:

Hauptgrund, weil ich nicht genau weiß, wie ich das umsetzen muss. Dafür habe ich von JS zu wenig Ahnung...ich wüsste gar nicht, wo ich mit dem "Programmieren" ansetzen sollte...

Zweite Sache, die mir beim Lesen deines Posts eingefallen ist: Google mag keine ausgeblendeten Container (oder was auch immer). Im schlimmsten Fall mache ich also alles, um gefunden zu werden, nur um dann ggf. aus dem Ranking zu fallen, weil ich mit "Black-Hat-Techniken" Keywords "versteckt" habe.

Bei Google interessiert es nun mal leider keinen, warum ich meine Divs auf "unsichtbar" geschaltet habe, zählen tut nur, dass sie unsichtbar sind. Und das ist laut großem G absolut mega-evil! Also z.B. display:none mit relevantem Inhalt geht gar nicht...

Korrigier mich, wenn ich falsch liege. meine zweite "Sache" ist nur eine Mutmaßung (also das mit Google stimmt schon --> nur weiß ich ja nicht den richtigen Lösungsansatz mit JS, vielleicht ist diese Technik auch gar nicht soooooooo evil ;-) )

-------------

Am ärgerlichsten ist, dass die Seite heute morgen eigentlich fertig war. Nur den Mist-Sound habe ich als letztes auf den Server geladen. Und dabei fiel mir das "Problem" auf...und da ich nun mal kein JS kann und die Seite trotzdem fertig werden muss, bleibt mir nur die Variante den Sound dann via Click zu starten.
Abgesehen davon hat mir gerade ein Arbeitskollege gesagt, dass ihn nichts mehr nervt als Sound auf einer Website, den er nicht selber eingeschaltet hat. Dazu kam deine Abneigung...und da will ich gar nicht wissen, wie vielen usern es noch so geht. Werd dies nun blöderweise nur noch dem Schlagerduo verklickern müssen :-((
 

r3nt5ch3r

~ Allround pG ~

AW: Probleme beim Include mit Switch

Hauptgrund, weil ich nicht genau weiß, wie ich das umsetzen muss. Dafür habe ich von JS zu wenig Ahnung...ich wüsste gar nicht, wo ich mit dem "Programmieren" ansetzen sollte...

du holst mit "getElementById()" den jeweiligen div-layer der aktualisiert werden soll und sagst mit "innerHTML" was dort stehen soll.
zB:
Code:
document.getElementById('meinContent').innerHTML = 'contentText';

Diese Zuweisung machst du am einfachsten, indem du ein Array erstellst in dem die ganzen Content-Inhalte drin stehen. Für jeden Navi-Button sagst du dann als href: "javascript:changeContent(1)" -> Array mit Key 1 wird als Content-Inhalt benutzt.

Du solltest noch darauf achten, dass HTML auch "kodiert" wird. Ich gehe davon aus, dass du mit php arbeitest -> PHP: htmlspecialchars - Manual sollte da das richtige für sein, bin mir aber net sicher^^ (Falls das ganze eine statische Seite wird, kannst du die jeweiligen contents natürlich extern in eine *.js Datei auslagern -> wird somit vom Browser gecached)

Zweite Sache, die mir beim Lesen deines Posts eingefallen ist: Google mag keine ausgeblendeten Container (oder was auch immer). Im schlimmsten Fall mache ich also alles, um gefunden zu werden, nur um dann ggf. aus dem Ranking zu fallen, weil ich mit "Black-Hat-Techniken" Keywords "versteckt" habe.

Du wirst nicht mit ausgeblendeten Containern arbeiten müssen, du wirst nur den contentInhalt in Variablen rumfliegen haben, ob das jetzt ein Unterschied für Google ist weiß ich nicht^^

Code:
....
<div id="header">Hier ist mien Flash-Header drin</div>

<div id="content">
<?php
$seite = (isset($_GET['seite']))?
$_GET['seite'] : '';switch ($seite) 
{default :case "standardseite" :include("standarddatei.php");
break; 

case "seite2" :include("datei2.php");
break;

case "seite3" :include("datei3.php");
break;}?>
</div>

wird zu...

Code:
....
<div id="header">Hier ist mien Flash-Header drin</div>

<div id="content">
<?php$seite = (isset($_GET['seite']))?
$_GET['seite'] : '';
if(!preg_match('/^[a-z0-9_]+$/i', $seite )) {
  echo 'seite net gefunden (invalid pattern -> nur buchstaben,zahlen und _)';
}

if(file_exists('./pages/'.$seite )){
  include('./pages/'.$seite );
}else{
  echo 'seite net gefunden';
}
?>
</div>

dann haste net so vielen redundaten/sinnlosen code xD *untested*

Meinung: Ich wäre für einen iframe, da dass am suchmaschinenfreundlichsten ist und dein Problem mit dem Player beseitigt...
 
Zuletzt bearbeitet:

CIX88

Aktives Mitglied

AW: Probleme beim Include mit Switch

Was spricht denn gegen iFrame ?
Das Flash mit dem Sound ist eh nicht für Google gedacht und brauchbar, wozu dann der Umweg mit JS? Wenn im Flash noch Text stehen würde, was Google dann auslesen könnte, dann wäre es mit JS sicher sinnvoller ... aber sooooo, najaaaaa.
 
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

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben