2010-12-01 13 views
28

Kann ich die HTTP-Header steuern, die von window.open (cross browser) gesendet werden?window.open mit Kopfzeilen

Wenn nicht, kann ich irgendwie window.open eine Seite, die dann meine Anfrage mit benutzerdefinierten Headern in seinem Popup-Fenster ausgibt?

Ich brauche einige schlaue Hacks.

Antwort

26

Kann ich die HTTP-Header steuern, die von window.open gesendet werden (cross browser)?

Kein

Wenn nicht, kann ich irgendwie eine Seite window.open, die dann in seinem tauchte-up-Fenster meine Anfrage mit benutzerdefinierten Header ausgibt?

  • Sie können eine URL anfordern, die eine serverseitige Programm auslöst, die die Anforderung mit beliebigen Header macht und dann gibt die Antwort
  • Sie JavaScript laufen (wahrscheinlich Abschied von Progressive Enhancement), die XHR verwendet, um Erstellen Sie die Anfrage mit beliebigen Headern (vorausgesetzt, die URL passt in die gleiche Ursprungsrichtlinie) und verarbeiten Sie das Ergebnis dann in JS.

ich ein paar schlauen Hacks brauchen ...

Es könnte helfen, wenn Sie das Problem statt zu fragen, beschrieben, wenn mögliche Lösungen funktionieren würde.

+2

Auch bei XHR begrenzte Unterstützung dort für Kopf Anpassung ist (http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method) –

+0

@FreeConsulting Link ist eigentlich: http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method – David

7

Wenn Sie die Kontrolle über die Server-Seite haben, könnte es möglich sein, Header-Wert in Query-String zu setzen und es so zu senden? Auf diese Weise könnten Sie es aus Abfrage String analysieren, wenn es nicht in den Headern gefunden wird.

Nur eine Idee ... Und Sie für einen schlauen Hack gefragt :)

-1

Es sieht aus wie innerhalb von 6 Jahren eine Lösung zur Verfügung gestellt wurde. Lesen Sie die Antwort hier zu finden:

how to add authentication header to $window.open

+5

(der verlinkte Post sendet nur die Header als Abfrageparameter stattdessen noch keine window.open Header-Unterstützung) – AlbinoDrought