• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

jQuery FancyBox Ausrichtung verschieben?

Dr. Zecke

New member
Hallo, ich bin ganz neu hier und habe auch schon gleich eine Frage bezüglich meines ebay templates.

Es geht um folgende Seite:
http://www.ebay.de/itm/Crash-Bluse-doppellagig-Tupfen-/201177575690?pt=DE_Damen_Blusen_Tops_Shirts&hash=item2ed71e310a

Ich habe in mein ebay Verkaufstemplate eine jquery Fancybox für meine Artikelbilder gesetzt.
Soweit funktioniert das ganze auch ganz gut, allerdings wenn man auf das große Bild klickt und sich der Vollbild-Modus öffnet,
wird das Bild ins Template "geboxt", anstatt den kompletten Bildschirm zu vereinnahmen.

Denn eig. sollte es so aussehen:
http://www.caramia-mode.de/ebay/zoom/Art1/Verkaufspage.html

Da ich keine Möglichkeit sehe das zu umgehen, will ich lediglich das Fenster, was sich beim Vollbild öffnet, nach oben verschieben um mehrere
hundert Pixel, damit man wenigstens den ganzen Artikel sieht und nicht erst dafür scrollen muss.

Java Script beherrsche ich leider nicht und weiß ehrlich gesagt nicht wo ich da ansetzen könnte.
Kann mir jemand von euch weiterhelfen?

Vielen Dank schonmal fürs Zuhören. :)
 
Zuletzt bearbeitet von einem Moderator:
Vielen Dank schonmal für den Tipp, werde es gleich mal ausprobieren.
Vorhin hatte ich es mal mit "Lytebox" probiert, allerdings hat das nicht funktioniert, da:

"iFrames: If you plan to use Lytebox in an iframe environment, meaning that you will launch the viewer
from within an iframe, then you need to be sure that both lytebox.js and lytebox.css are included in the parent document,
while including lytebox.js (only) in the iframe document."

Ich komme nicht an das parent document ran, sondern habe lediglich die Möglichkeit, den Inhalt vom iframe selber zu bestimmen.
Hoffentlich braucht Fresco kein .js und .css im parent document.



Zu deiner Frage:
Ich kenne mich schon etwas mit html und java script aus. Sachen wie code einbinden usw. stellt für mich meistens kein Problem dar.
Mit der Scriptsprache an sich bin ich nur leider *noch* nicht sehr vertraut.

- - - Aktualisiert - - -

Kleiner Nachtrag:

Also am Besten wäre es, wenn ich irgendwie aus dem iframe heraus, auf das parent document zugreifen könnte, um eine .js und .css einzubinden.
Ist das denn überhaupt möglich mit JS oder sollte ich mir das gleich wieder aus dem Kopf schlagen?
Da ja sowohl der iframe als auch das parent doc auf gleichen Server liegen, dürfte es ja nicht gegen die "Same Origin Policy" verstoßen, oder?

- - - Aktualisiert - - -

Nachtrag 2:

Halbe Nacht lang recherchiert, Lösung in Sichtweite: (Lösung für das margin Problem, nicht das iframe problem)
Ich muss die entsprechende .css von den Lightboxen anpassen.
Keine Ahnung, wieso ich da bisher nicht drauf gekommen bin, ich war gedanklich total auf den java script code fixiert.
 
Ich muss die entsprechende .css von den Lightboxen anpassen.
Das ist noch nicht heraus, denn solche Dinge werden häufig dynamisch berechnet und gesetzt. Poste mal, ob Du mit dem CSS Erfolg hattest.

Die iFrame-Fragen lassen sich mit kurzem Googeln beantworten:

Wie Du auf das Elternfenster zugreifen kannst, ist hier beschrieben:
http://de.selfhtml.org/javascript/objekte/frames.htm

Und wie Du CSS- und Javascript-Dateien aus Javascript inkludieren kannst, hier:
http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
 
Zuletzt bearbeitet:
@ sempervivum

Jetzt geht es. Hattest Recht, es hatte nix mit der css zu tun. Musste folgenden Wert in der Datei "jquery.fancybox.js" (Fancybox 2.0) verändern:
"topRatio" von 0.5 auf 0, jetzt sitzt die Lightbox dort wo ich sie hinhaben wollte.

Nochmal kurz auf deine Links zurückzukommen:
Es geht mir darum, dass ich vom iframe aus Zugriff auf das Parent document habe, OHNE vorher Eingriffe direkt in der HTML vom Parent doc. vorzunehmen.
(Geht bei ebay nicht auf der Verkaufspage, auf den anderen Seiten schon)

Bei dem Java Script Link wird beschrieben, wie man dynamisch .js und .css datein inkludieren kann, das bezieht sich aber auf den Frame, in dem der Code steht.
Das ist gut aber bringt mir nix, da ich nicht irgendwas in die iframe page, sondern ins Parent doc inkludieren will.

Iframe link:
Gut zu wissen, man kann scheinbar irgendwie aufs Parent doc zugreifen, weiß aber noch immer nicht ob man trotz diesem Zugriff irgendwie .js datein ins Parent inkludieren kann.
Das hat sich auch erstmal erledigt, da ich es ja mit der Lightbox hinbekommen habe.
Ich muss jetzt als Nächstes herausfinden, wie ich den viewport vom Parent doc ändern kann vom iframe heraus.

Wie gesagt, ich habe nur Zugriff auf den iframe, auf nix weiter.
 
Freut mich, dass es mit der Ausrichtung geklappt hat.

Du kannst die Techniken aus den beiden Links kombinieren:
Code:
  var fileref=parent.document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
würde eine Javascript-Datei im Eltern-Dokument des iFrame inkludieren.
Ich fürchte nur, dass dir dies nichts nützen wird, weil es eine Vorschrift "Same Origin Policy" gibt, die besagt, dass dies nur zulässig ist, wenn beide Dokumente unter der selben Domain liegen. Ist dies nicht der Fall, was bei dir offenbar zutrifft, wird es vom Browser abgewiesen. Unabhängig davon glaube ich nicht, dass Ebay es zulassen würde, wenn ein Benutzer in seinem HTML-Dokument etwas ändert.
 
Für sämtliche Standardattribute sollte man setAttribute() nicht verwenden und stattdessen diese direkt als .attribute zuweisen:
Code:
var fileref = parent.document.createElement("script");
fileref.type = "text/javascript";
fileref.src = filename;
PS: Eine Anweisung sollte man mit einem Semikolon abschließen.
 
Zurück
Oben