Originelle Ressourcenfreigabe und Datei: //

8

Ich schreibe eine HTML5-Anwendung, die mit JSONP Daten aus verschiedenen Quellen sammelt. Alles, was ich mit einem GET mache, funktioniert perfekt. Ich versuche jetzt, Daten zu POST zu bringen, und ich habe einen interessanten Haken gefunden. Ich muss Daten von meiner Anwendung zu einem anderen senden, wo meine Anwendung von einem lokalen Computer ausgeführt wird. Ich versuche eine plattformübergreifende mobile Anwendung zu schreiben (denke Pulse / Flipboard), also wird der Code immer von einer lokalen Quelle laufen. Mein Denkprozess war wie folgt:

Alle Browser, auf die ich abziele, sind webkitbasiert (iPad, Playbook, Android), also frage ich mich, ob es in demselben Quellrichtliniencode ein Knacken gibt, durch das ich mich schleichen kann? Vielleicht etwas mit iframe oder postMessage?

    
Justin Beckwith 28.02.2011, 04:02
quelle

2 Antworten

9

Wie sich herausstellen sollte, besteht der einfachste Weg darin, auf die Ziel-URL innerhalb eines Iframes zu schreiben. In den meisten Browsern können Sie mit der gleichen Herkunftsrichtlinie einen HTTP-POST von einer Domäne zu einer anderen nicht verwandten Domäne ausführen. Ich löste das Problem, indem ich meiner Seite einen iframe hinzufügte, der anfänglich auf eine lokale bootstrapping Seite gesetzt wurde. Da diese Seite von derselben Domain geladen wurde, kann ich sie per Skript steuern. Ich habe das verwendet, um das Formular an meine Zielseite zu senden, und die Ergebnisse abgefragt, um festzustellen, ob mein Anruf erfolgreich war. Es ist nicht elegant, aber es funktioniert.

    
Justin Beckwith 01.03.2011, 16:04
quelle
1

Diese Javascript-Bibliothek kann Ihnen fast sicher helfen:

Ссылка

  

easyXDM ist eine Javascript-Bibliothek, die   ermöglicht es Ihnen als Entwickler einfach   um die eingeführte Beschränkung herum arbeiten   durch die gleiche Herkunft Policy, in   machen es leicht zu kommunizieren und   Expose JavaScript-APIs über Domain   Grenzen.

     

..

     

Im Kern stellt easyXDM ein   Transportstapel kann passieren   String-basierte Nachrichten zwischen zwei   Fenster, ein Verbraucher (der Haupt   Dokument) und einen Anbieter (ein Dokument   inklusive eines iframe). Es tut   dies mit einem von mehreren verfügbaren   Techniken, immer die meisten auswählen   effizient für den aktuellen Browser.   Für alle Implementierungen der Transport   Stapel bietet Bidirektionalität,   Zuverlässigkeit, Warteschlangen und   Absender-Überprüfung.

    
thirtydot 28.02.2011 04:15
quelle

Tags und Links