Okay danke, das ist schon mal nicht schlecht.
Bisher hatte ich es so:
[CODE]var w = window.open();
w.document.write(‚Uploading to imgur.com…‘);
$.ajax({
data: {
},
dataType: 'json',
}).success(function(data) {
var url = ‚http://imgur.com/‘ + data.data.id;
w.location.href = url;
});[/CODE]
Also nur der relevante Part.
Jetzt habe ich wie von dir vorgeschlagen, die Box einfach auf der „Startseite“ versteckt und eine Funktion zum ein- und ausblenden geschrieben:
function hideAndShowLoadingAnimation() {
box_loading.fadeToggle( "slow", "linear" );
};
Dazu in dem AJAX-Call das beforeSend:
beforeSend : function(){
hideAndShowLoadingAnimation();
}
So…
jetzt noch die Frage, wenn der Aufruf durch ist und das Bild hochgeladen ist, sprich wir im success sind,
würde ich das Laden wieder ausblenden wollen und den Tab mit dem Bild öffnen.
Also würde ich ja oben genanntes var w = window.open();
mit meiner Ausblend-Funktion zusammen ins success schreiben, also so:
[CODE].success(function(data) {
hideAndShowLoadingAnimation();
var url = 'http://imgur.com/' + data.data.id;
var w = window.open();
w.location.href = url;
});[/CODE]
Das öffnet jetzt allerdings ein neues Fenster, nicht mehr wie in meiner ersten Variante einen Tab.
Hast du noch eine Idee wie man das macht? Ein neues Fenster geht halt mal gar nicht ![:confused: :confused:](/images/emoji/twitter/confused.png?v=12)
Edit:
Habe herausgefunden, dass das wohl so nicht ohne weitere geht weil ein Tab durch einen AJAX-Call aufzurufen keine „Trusted“-Action mehr ist, also nicht vom User kommt, darum öffnet sich auch nur auf Zustimmung im Popup. hm hm hm.
Wenn man den Call Synchron ausführt öffnet es sich zwar in einem Tab aber ich sehe die Ladeanimation nicht, weil man direkt zu dem Tab kommt.