Ich möchte zusammenfassen, was die Lösung für dieses Problem war. Sie finden eine hilfreiche URL here.
Im Wesentlichen injizieren Sie Code über die Seiten <script>
Tag beim Importieren von JavaScript. Alles, was über dieses Tag importiert wird, wird sofort im globalen Kontext ausgeführt. Anstatt also eine JavaScript-Datei zu übergeben, geben Sie eine URL an eine Website weiter, die eine Seite zurückgibt, die nicht aus HTML-Tags besteht, sondern eine Seite, die JavaScript-Code zurückgibt, der einen Rückruf in Ihrem Code aufruft.
Mithilfe von URL-Parametern teilen Sie der Seite mit, welcher Callback zurückgegeben werden soll und welche Parameter in den Callback eingehen müssen. Zum Beispiel:
<script type="text/javascript" src="http://crossdomainhost/CrossDomainConsumerSite/Default.aspx?callback=myCallback¶m1=myParam"></script>
Wenn diese ausgewertet wird, ist der Inhalt der Seite durch die ‚src‘ Parameter zurückgegeben:
myCallback(myParam);
Auf der Server-Seite, erstellen Sie eine Website zu dieser URL, die den überschreibt OnLoad-Entsprechung (mit der von Ihnen verwendeten serverseitigen Sprache). Anstelle von HTML-Seiten werden die URL-Parameter vom OnLoad übernommen und erneut geswizzed, damit sie dem obigen Callback-Aufruf entsprechen.
Wenn die Ersetzung durchgeführt wird, wird der Rückruf sofort aufgerufen, wenn der Client die Seite lädt. Der Vorteil ist, dass die 'src'-URL nicht mit der Domain der gehosteten Seite übereinstimmen muss.
Hier ist, was der Client-HTML-Seite am Ende aussehen wird:
<script type="text/javascript">
var myCallback = function(myParam) {
alert("this was called across domains!");
};
</script>
<script type="text/javascript" src="http://crossdomainhost/CrossDomainConsumerSite/Default.aspx?callback=myCallback¶m=myParam></script>
ein Tool wie Fiddler2 Erhalten Sie und beobachten Sie die Magie – epascarello
Das ist für mich nicht wirklich funktioniert. Ich habe es versucht, und immer noch verweigert Genehmigung Fehler in Chrome und Firefox. – Merritt
@Merritt - Sie müssen dies in Teilen debuggen. Wenn Sie in einem Webbrowser zu Ihrer Proxy-Seite navigieren, erhalten Sie einen Text zurück, dessen Inhalt der JavaScript-Aufruf ist? –