1

Ich möchte den Header "Referer" in meiner Chrome App festlegen. Wenn ich es auf diese Weise:Einstellen des XHR-Headers "Referer" in der Chrome-App

xhr.setRequestHeader('Referer', 'http://example.com/'); 

ein Fehler zeigt:

ajax.js: 15 unsichere header "Referer"

ich hier ein altes Thema gefunden zu setzen Refused wo jemand "referer" mithilfe von chrome.webRequest geändert hat, diese Erweiterung jedoch in Chrome-Apps nicht verfügbar ist Chrome.webRequest funktioniert nicht mehr! Alle Themen auf SO empfehlen, es zu verwenden, aber es wird nicht mehr von Chrome unterstützt. Wie ändere ich diese Kopfzeile?

+0

Mögliches Duplikat von [Set referer for xml.HTTP.Request?] (Http://stackoverflow.com/questions/27218525/set-referer-for-xml -http-request) – Belldandu

+0

Zum Zeitpunkt der Frage wurde jemand mit chrome.webRequest umgangen. Es könnte also eine neue Möglichkeit geben, diese zu umgehen. – MatixYo

+0

@MatixYo können Sie sich die ähnliche Frage [hier] (http://stackoverflow.com/questions/12960902/reading-and-modifying-the-http-get-request-in-a-chrome-extension) ansehen – Hutsi

Antwort

2

web-server-chrome enthält ein Objekt ChromeSocketXMLHttpRequest. Sie könnten es in Ihrem Projekt verwenden. Sie können das Repository klonen und minimize.sh ausführen, um eine minimierte einzelne Datei in Ihr Projekt aufzunehmen. Sie können dann ChromeSocketXMLHttpRequest als Standard für das normale XHR verwenden.

2

Während die API nicht für die eigenen Anforderungen von Chrome Apps verfügbar ist, verfügt <webview> über eine request interface, die webRequest implementiert und Ihnen ermöglicht, Anforderungen zu ändern, die von ihr stammen.

Auf diese Weise können Sie eine "Proxy" -Seite erstellen, die XHRs für Sie ausführt, sie in eine Webansicht einbindet und ihre Anforderungen ändert. Es ist ein extra Reifen, aber zumindest ist es möglich.