2017-03-29 1 views
1

Ich erhalte den Ort eines PDF-Dokuments in eckigen, und ich kann es nicht zum konsistenten Download bekommen.

Es funktioniert auf meinem Laptop zu Hause, aber nicht während der Arbeit. -Code unten

RenderService.document('document.pdf', spec).then(function(pdfLocation) { 
    $window.location = pdfLocation; 
}); 

Arbeiten in Chrome auf Ubuntu zu Hause, nicht auf dem gleichen Satz an Arbeit. Kennt irgendjemand einen Grund, warum die Operation '$ window.location' nicht idempotent wäre?

Update: funktioniert auch auf FF auf meiner Arbeitsmaschine, Chrom einfach nicht

+0

Für was "funktioniert nicht" genau bleiben? Ist die Verbindung unterbrochen? Wird ein Download nicht ausgelöst? – lin

+0

Es passiert nichts, der js-Parser übergibt diese Zeile und es wird keine Aktion ausgeführt. –

+0

Sie haben eine Add-Blocker- oder Anti-Vir-Software, die auf diesem Computer ausgeführt wird? – lin

Antwort

0

Dank @lin ich das Problem war Chrom blockiert meinen Download aufgrund der erweiterten Sicherheitsoption in Chrome realisiert: „Schützen Sie sich und „Ihr Gerät vor gefährlichen Websites

ich bin mir nicht sicher, wie noch um es zu bekommen, und wird diese Antwort aktualisieren, wenn ich eine Lösung

+0

Prost m8 =), froh zu helfen. Sollte ich eine Antwort posten? ;) – lin

+0

Sicher, los :) –

1

finde happends Diese meist, wenn Sie einige dritte Teil-Software installiert haben oder den Browser Sicherheit ist als hoch konfiguriert. Suchen Sie nach addblocker & Antivir-Software auf Ihrem Computer und überprüfen Sie auch die Sicherheitskonfiguration in Ihrem Browser. Stellen Sie sicher, dass Ihr PDF-Standort auf HTTPS basiert, wenn Ihre Anwendung unter HTTPS ausgeführt wird.

Für Chrome & Safari versuchen, Ihre window.location.href Eigenschaft anstelle von window.location einzustellen. Dies sollte für alle Browser so funktionieren.

RenderService.document('document.pdf', spec).then(function(pdfLocation) { 
    window.location.href = pdfLocation; 
    return false; 
}); 

Hier ist ein plnkr demo, die in Chrom gut laufen wird.

+0

Die $ widow.location.href hat nicht funktioniert, aber der Fehler verschwindet, wenn ich "Schützen Sie Ihr Gerät von gefährlichen Seiten" aus den erweiterten Einstellungen deaktivieren. (Ich möchte dies nicht als korrekt bezeichnen, da es Leute verwirren wird, die sich hier mit dem eigentlichen Problem befassen) –

+0

Hat Ihre 'pdfLocation' eine vollständig qualifizierte URL wie' http: // domain/download.pdf'? Try ist einmal mit 'window' anstelle von AngularJS-Instanz' $ window'. Ich werde eine Geige zum Testen erstellen .. kann es nicht glauben =) – lin

+0

Bitte überprüfen Sie mein Update. – lin

Verwandte Themen