Neues Modul: GBFilePicker
Re: Neues Modul: GBFilePicker
Könnte das daran liegen, dass Buttons eigentlich kein href-Attribut haben dürfen?
Hast Du mal probiert die Adresse die der Button öffnen will, selber in einem neuen Fenster zu laden?
Ich habe da außerdem vermutlich eine ganz schlechte Idee gehabt, um auch Fehlermeldungen des Servers im Filepicker ausgeben zu können. Es gibt bei jQuery die Möglichkeit, einen Error Handler anzugeben für den Fall, dass die AJAX Anfrage nicht erfolgreich war. Ich Idiot lasse in diesem Error Handler dieselbe AJAX Anfrage einfach nocheinmal ausführen, nur nicht als XML... selten dämlich oder? Das habe ich gemacht, um auch dann etwas ausgeben zu können, wenn das Resultat kein XML Objekt ist. Also für ganz fatale serverseitige Fehler, die mir dann die XML Ausgabe des Moduls versauen. Wenn es aber nun aus irgendeinem anderen Grund die Anfrage nicht starten kann, dann endet das Ganze in einer Endlosschleife.
Wenn das bei Dir der Fall sein sollte, dann frage ich mich, wieso.
Lade die Datei unter dem Link nochmal runter. Ich habe das Javascript so abgeändert, dass es in diesem Falle eine Alert-Box mit einer Fehlermeldung ausgibt.
Andere Frage: Nutzt Du SubDomains für Javascripts?
AJAX Anfragen (zumindest die via jQuery.get() ) können nur an dieselbe Domain gesendet werden von denen auch das Javascript geladen wird.
(Same Origin Policy - aus Sicherheitsgründen)
Eventuell liegt ja hier der Hund begraben.
(Ich finde den Fehler heute noch. Und wenn ich die ganze Nacht daran arbeiten muss...)
Hast Du mal probiert die Adresse die der Button öffnen will, selber in einem neuen Fenster zu laden?
Ich habe da außerdem vermutlich eine ganz schlechte Idee gehabt, um auch Fehlermeldungen des Servers im Filepicker ausgeben zu können. Es gibt bei jQuery die Möglichkeit, einen Error Handler anzugeben für den Fall, dass die AJAX Anfrage nicht erfolgreich war. Ich Idiot lasse in diesem Error Handler dieselbe AJAX Anfrage einfach nocheinmal ausführen, nur nicht als XML... selten dämlich oder? Das habe ich gemacht, um auch dann etwas ausgeben zu können, wenn das Resultat kein XML Objekt ist. Also für ganz fatale serverseitige Fehler, die mir dann die XML Ausgabe des Moduls versauen. Wenn es aber nun aus irgendeinem anderen Grund die Anfrage nicht starten kann, dann endet das Ganze in einer Endlosschleife.
Wenn das bei Dir der Fall sein sollte, dann frage ich mich, wieso.
Lade die Datei unter dem Link nochmal runter. Ich habe das Javascript so abgeändert, dass es in diesem Falle eine Alert-Box mit einer Fehlermeldung ausgibt.
Andere Frage: Nutzt Du SubDomains für Javascripts?
AJAX Anfragen (zumindest die via jQuery.get() ) können nur an dieselbe Domain gesendet werden von denen auch das Javascript geladen wird.
(Same Origin Policy - aus Sicherheitsgründen)
Eventuell liegt ja hier der Hund begraben.
(Ich finde den Fehler heute noch. Und wenn ich die ganze Nacht daran arbeiten muss...)
Last edited by NaN on Thu Sep 09, 2010 9:56 am, edited 1 time in total.
Re: Neues Modul: GBFilePicker
dein link funzt net.
aber in dem beispielfilepicker unter erweiterungen wird ja dieser link geladen:
moduleinterface.php?mact=GBFilePicker,m1_,fileBrowser,0&sp_=fbd16faa&m1_name=GBFilePicker_image_filepicker&m1_disable_theme=1&m1_subdir=images
Wenn ich den auch manuell im content öffne, wird mir das gleiche ergebnis (xml) geladen.
aber in dem beispielfilepicker unter erweiterungen wird ja dieser link geladen:
moduleinterface.php?mact=GBFilePicker,m1_,fileBrowser,0&sp_=fbd16faa&m1_name=GBFilePicker_image_filepicker&m1_disable_theme=1&m1_subdir=images
Wenn ich den auch manuell im content öffne, wird mir das gleiche ergebnis (xml) geladen.
-
- Power Poster
- Posts: 751
- Joined: Fri Sep 12, 2008 2:34 pm
Re: Neues Modul: GBFilePicker
Ich habe mal die Version von dir installiert. Damit bekomme ich folgende Messagebox:;
Error: could not send AJAX request or server response is no XML data. For error checking please check this adresse manually: undefinied
Wenn ich den Link direkt öffne, bekomme ich kurz eine Fehlermeldung und danach wieder das Login-Formular des Backends
Edit: Hab vergessen in der URL die & durch ein & zu ersetzen. Danach bekomme ich das XML.
Error: could not send AJAX request or server response is no XML data. For error checking please check this adresse manually: undefinied
Wenn ich den Link direkt öffne, bekomme ich kurz eine Fehlermeldung und danach wieder das Login-Formular des Backends
Edit: Hab vergessen in der URL die & durch ein & zu ersetzen. Danach bekomme ich das XML.
Last edited by nockenfell on Wed Sep 08, 2010 6:10 pm, edited 1 time in total.
[this message is written with 100% recycled bits]
Re: Neues Modul: GBFilePicker
Dieses dropbox... 
Jetzt sollte es gehen.
Also sowohl im Beispiel als auch im Inhalt werden die gleichen XML Resultate gezeigt?
Ohne Fehler?
Hm.
Mich verwirrt nur die Tatsache, dass das Javascript offenbar geladen und problemlos ausgeführt wird. Nur verstehe ich nicht, wieso der Button, der ja nichts weiter macht als jQuery.get(this.href) auszuführen, dazu führt, dass die Seite - fehlerhaft - neu geladen wird.
So viel habe ich am FilePicker im Vergelcieh zu AdvancedContent nicht geändert.
Was mich aber noch mehr verwirrt, ist, dass es bei mir - zumindest lokal, online habe ich es noch nicht getestet - funktioniert.
Bei den Javascript Fehlermeldungen gibt es nur eine einzige, die sich auf das Modul bezieht. Und die kann ich nicht nachvollziehen: GBFP is not defined.
Wenn GBFP nicht definiert ist, wer versucht dann auf GBFP zuzugriefen, wenn nicht eine Funktion aus dem Objekt GBFP selbst bzw. eine Zeile am Ende des Javascripts in dem GBPF eindeutig als erstes als GBFP = new Object(); definiert wird

Jetzt sollte es gehen.
Also sowohl im Beispiel als auch im Inhalt werden die gleichen XML Resultate gezeigt?
Ohne Fehler?
Hm.
Mich verwirrt nur die Tatsache, dass das Javascript offenbar geladen und problemlos ausgeführt wird. Nur verstehe ich nicht, wieso der Button, der ja nichts weiter macht als jQuery.get(this.href) auszuführen, dazu führt, dass die Seite - fehlerhaft - neu geladen wird.
So viel habe ich am FilePicker im Vergelcieh zu AdvancedContent nicht geändert.
Was mich aber noch mehr verwirrt, ist, dass es bei mir - zumindest lokal, online habe ich es noch nicht getestet - funktioniert.
Bei den Javascript Fehlermeldungen gibt es nur eine einzige, die sich auf das Modul bezieht. Und die kann ich nicht nachvollziehen: GBFP is not defined.
Wenn GBFP nicht definiert ist, wer versucht dann auf GBFP zuzugriefen, wenn nicht eine Funktion aus dem Objekt GBFP selbst bzw. eine Zeile am Ende des Javascripts in dem GBPF eindeutig als erstes als GBFP = new Object(); definiert wird

Re: Neues Modul: GBFilePicker
jetzt kommt nen alert nach dem abdunkeln:
Code: Select all
Error: could not send AJAX request or server response is no XML data. For error checking please check this address manually: undefined
Re: Neues Modul: GBFilePicker
Was merwürdig ist, da genau eine Zeile vorher href mitnockenfell wrote:
please check this adresse manually: undefinied
Code: Select all
var href = jQuery('#'+GBFP.triggerId).attr('href');
Also entweder mag Euer Browser keine Attribute von Objekten auslesen, die sie garnicht haben dürfen, oder es liegt an dem "var" mit dem die Variable definiert wird, sodass sie in der callback funktion nicht verfügbar ist.
(Sollte ich statt der Buttons vielleicht doch lieber Links nehmen? Aber dann geht das "disabled" nicht, wärend das Javascript noch lädt.)
Aha, damit kann ich schon etwas mehr anfangen, denn die & s in der URL können bei AJAX zu Problemen führen (war zumindest beim FEUMailer so; da musste ich mit str_replace die & s wieder in & ändern.).nockenfell wrote:
Wenn ich den Link direkt öffne, bekomme ich kurz eine Fehlermeldung und danach wieder das Login-Formular des Backends
Edit: Hab vergessen in der URL die & durch ein & zu ersetzen. Danach bekomme ich das XML.
Re: Neues Modul: GBFilePicker
du kannst normale links "disablen":
Code: Select all
$("a.button").click(function(e){
e.preventDefault();
$(this).addClass("disabled");
deinefunktion();
});
Re: Neues Modul: GBFilePicker
Okay, dann scheint also etwas mit AJAX und URL nicht mehr ganz zu stimmen.nicmare wrote:
jetzt kommt nen alert nach dem abdunkeln:
Dann habe ich zumindest schonmal einen Ansatz.
Danke für Eure Geduld

Danke, kannte ich noch nicht.
du kannst normale links "disablen":
Werde ich mal probieren.
Edit:
Ich Trottel! Wozu und vor allem wie soll ich denn Links mit jQuery "disablen", wenn ich sie nur deshalb "disablen" will, weil jQuery noch garnicht geladen ist?

Links lassen sich auch besser stylen.
Edit: also bleibts doch erstmal bei den Buttons
Mal sehen ob es nicht besser ist, die URL gleich mit einem onclick zu übergeben anstelle mit jQuery den Buttons/Links eine Funktion zuzuweisen.
Last edited by NaN on Wed Sep 08, 2010 11:14 pm, edited 1 time in total.
Re: Neues Modul: GBFilePicker
du solltest es trotzdem probieren. brauche ich ständig
(das verhindert nämlich auch bei internen funktionen dass die seite immer nach oben springt wenn du nur href="#" angibst)

Re: Neues Modul: GBFilePicker
Gut zu wissen.
Bringt mir aber im Moment nicht viel. Mir geht es eigentlich nur darum, dass der User sieht "Hier kann ich noch nicht klicken". Wenn ich das mit Links mache, die aber nur via CSS als "disabled" formatiert sind, dann kann man sie aber trotzdem anklicken. Da die Funktion die sie ausführen sollen evtl. noch nicht existiert, gibt es einen Javascript Fehler. Dadurch wird kein false zurückgeliefert und die Default-Aktion des Links ausgeführt. Was bedeutet, dass der Browser eine neue Seite lädt. Vielleicht kann man das auch irgendwie anders machen, aber ich denke einfache Buttons tun keinem weh und machen hier auch am wenigsten Arbeit.
Habe gerade wieder eine neue Version hochgeladen.
Hab in den URLs & mit & ersetzt und noch ein paar kleine Schönheitsfehler ausgebügelt. Ich kann aber nicht sagen, ob der Fehler damit behoben ist, da ich ihn ja leider nicht live erlebe.
Bringt mir aber im Moment nicht viel. Mir geht es eigentlich nur darum, dass der User sieht "Hier kann ich noch nicht klicken". Wenn ich das mit Links mache, die aber nur via CSS als "disabled" formatiert sind, dann kann man sie aber trotzdem anklicken. Da die Funktion die sie ausführen sollen evtl. noch nicht existiert, gibt es einen Javascript Fehler. Dadurch wird kein false zurückgeliefert und die Default-Aktion des Links ausgeführt. Was bedeutet, dass der Browser eine neue Seite lädt. Vielleicht kann man das auch irgendwie anders machen, aber ich denke einfache Buttons tun keinem weh und machen hier auch am wenigsten Arbeit.
Habe gerade wieder eine neue Version hochgeladen.
Hab in den URLs & mit & ersetzt und noch ein paar kleine Schönheitsfehler ausgebügelt. Ich kann aber nicht sagen, ob der Fehler damit behoben ist, da ich ihn ja leider nicht live erlebe.
Re: Neues Modul: GBFilePicker
man kann mit links wunderbar arbeiten. meine erste methode ist das gleiche wie
wobei preventDefault wohl irgendwie kompatibler ist. aber gut…jeder wie er es am besten kann 
link zur neuen version?
Code: Select all
$("a.button").click(function(){
$(this).addClass("disabled");
return false
});

link zur neuen version?
Re: Neues Modul: GBFilePicker
Du hast ja recht, aber ... laut Deinem Beispiel wird der Link erst dann "inaktiv" wenn man darauf klickt. Das ist aber nicht das was ich erreichen möchte. Mir geht es nicht darum zu verhindern, dass die Links vom Browser ausgeführt werden. Das kriege ich auch mit einem onclick="return false;" hin. Außerdem kann ich Deinen Code nicht ohne jQuery verwenden. Da zu diesem Zeitpunkt aber noch nicht feststeht, ob jQuery überhaupt geladen wurde, kann ich nicht mit jQuery die Links deaktivieren. Im Normalfall gibt es jQuery da noch nicht. Und nur solange das der Fall ist, sollen die Buttons / Links deaktiviert sein. Sobald jQuery da ist, sollen sie ja aktiv sein. Und das mache ich mit
Ich will es also genau umgekehrt machen 
Und es ist mir einfach zu kompliziert, wenn ich erstmal alle Links mit onclick="return false" ausgebe und dann erst, wenn jQuery dann da ist den Links noch irgendwelche anderen Funktionen zuweise.
Code: Select all
$('.GBFP_disabled').removeAttr('disabled').removeClass('disabled');

Und es ist mir einfach zu kompliziert, wenn ich erstmal alle Links mit onclick="return false" ausgebe und dann erst, wenn jQuery dann da ist den Links noch irgendwelche anderen Funktionen zuweise.
Re: Neues Modul: GBFilePicker
okok 
auf jeden fall bin ich schon megaheiß auf nen final release. denn das ist nen richtig cooles modul!

auf jeden fall bin ich schon megaheiß auf nen final release. denn das ist nen richtig cooles modul!
Re: Neues Modul: GBFilePicker
Forge, Dropbox oder SVNnicmare wrote:
link zur neuen version?
Hab die Links erst vor paar Sekunden aktualisiert

Ich freu mich auch schon wenn das Modul fertig ist. Vor allem weil ich mich dann wieder anderen Dingen widmen kann (AdvancedContent z.B. Da warten noch so viele Ideen in diversen Schubläden... )
Re: Neues Modul: GBFilePicker
Sorry, falsches Archiv ... 
Jetzt sollte es gehen.
Ich brauch 'ne Pause.
Ich mach grad nur noch Blödsinn...

Jetzt sollte es gehen.
Ich brauch 'ne Pause.
Ich mach grad nur noch Blödsinn...