Deaktivieren der gleichen Ursprungsrichtlinie / Erstellen von domainübergreifenden XMLHttpRequests in WebKit WebViews?

8

Ich möchte die gleiche Ursprungsrichtlinie für XMLHttpRequests in meinen eigenen eingebetteten WebViews deaktivieren. Ich habe die Kontrolle über die geladenen Seiten / den Code, der in der WebView ausgeführt wird, daher ist es mir egal, ob ich dieselbe Herkunftsrichtlinie durchsetzen möchte. Ich möchte domänenübergreifende Anfragen stellen.

Ich habe versucht, WebPolicyDelegate und WebResourceLoadDelegate zu implementieren, aber sie scheinen nicht für XMLHttpRequests aufgerufen zu werden.

    
tlrobinson 10.03.2010, 22:44
quelle

4 Antworten

1
%Vor%

Hoffentlich ist das was du brauchst! Sie können mir eine Nachricht für Webkit schicken.

    
Andrew 16.10.2010, 05:28
quelle
1

Ich denke, es wird Ihnen schwer fallen, dies auf eine für Sie nützliche Weise zu tun. Haben Sie JSONP anstelle von XHRs in Betracht gezogen? Ссылка

Die allgemeine Übersicht besteht darin, dass JSONP den gleichen Mechanismus zum Anfordern externer Skripte verwendet, wie oben beschrieben. Der Unterschied besteht darin, dass Ihr Server dies erkennt und die JSON-Antwort als Argument für eine Callback-Methode zusammenfasst. Wenn Ihre Site dieses "Skript" empfängt, wird es ausgeführt und die Daten werden direkt in Ihre Callback-Methode zurückgegeben.

Wenn Sie ein Framework wie jQuery verwenden können, werden die meisten Client-Seiten transparent für Sie behandelt. In der Tat wird es praktisch die gleichen Methoden verwenden, die Sie für XHR (AJAX) -Anfragen verwenden. Schau es dir hier an: Ссылка

    
mkoistinen 08.09.2010 00:18
quelle
0

Sie könnten versuchen, den Header Access-Control-Allow-Origin: * zur Serverantwort hinzuzufügen. Ich denke nicht, dass es von allen Browsern unterstützt wird.

Weitere Informationen: Ссылка

    
Cristian Sanchez 08.09.2010 00:25
quelle
0

Ich habe gesucht, wie man das unter OSX macht. Es stellt sich heraus, WebPreferences hat eine private Methode: setWebSecurityEnabled . Setzen Sie dies auf false und es sollte funktionieren.

Ссылка

Also zum Beispiel:

%Vor%     
oh_cripes 22.03.2012 15:19
quelle