Domanda

Supponiamo che il mio file html provenga da http://foo.com/index.html , al suo interno, c'è un tag <script> in http://bar.com/bar.js .In bar.js, voglio avviare uno SharedWorker dove l'URL è http://bar.com/worker.js .C'è un modo per ottenere questo (forse qualcosa come jsonp)?

È stato utile?

Soluzione 2

Questa è una soluzione che ho trovato:

  • Scrivi lo script all'interno di una funzione (può essere una funzione interna)
  • ottieni il testo usando function.toString () (rimuovendo la dichiarazione di funzione e chiudendo le parentesi graffe)
  • aggiungi il testo a un BlobBuilder e ottieni il BLOB
  • Utilizza window.URL.createObjectURL per convertire il BLOB in un URL
  • utilizza quell'URL per il lavoratore

Altri suggerimenti

Il modo migliore per eseguire questo tipo di accesso tra domini in questi giorni è utilizzare la specifica W3 CORS.

Condivisione di risorse tra le origini

Tuttavia, questo potrebbe non essere adatto a te se non controlli il sito su bar.com.Se lo fai, CORS è sicuramente una buona opzione, ma potresti dover ricorrere a JSONP se bar.com è gestito da un'altra parte, poiché CORS dipende dal sito che restituisce intestazioni specifiche che autorizzano il tuo browser a scaricare la risorsa richiesta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top