Finestra di popup del dominio incrociato con valore restituito

Questa è la configurazione:

Ho due siti web su due domini diversi:

  • www.website1.com
  • www.someotherwebsite.com

Questo è quello che voglio fare:

  1. Quando un utente è su www.website1.com e fa clic su un collegamento, desidero visualizzare una finestra popup che mostri www.someotherwebsite.com .

  2. Quando l’utente fa clic su un pulsante nella finestra popup (che mostra www.someotherwebsite.com ) voglio che la finestra si chiuda e che venga restituito un valore.

  3. Voglio che il valore restituito dalla finestra popup venga inserito (in un div, o in una chiamata javascript, o in un luogo accessibile come la compilazione di un campo modulo) su www.website1.com .

Spero che abbia un senso. Ho bisogno di usare solo HTML e Javascript senza librerie esterne. Deve anche funzionare sui browser mainstream correnti (cioè non essere una cosa HTML5).

Grazie in anticipo per il vostro aiuto.

Beh, se usi un iframe nella finestra pop-up [in questo giorno eviterei di saltare windows come la peste a causa di blocchi pop-up]

Con un iframe puoi effettuare chiamate interdominio

Perché non sviluppi semplicemente un webservice da A a B e lo chiami da A? Sembra molto più pulito che trovare piccole crepe nei browser per aggirare la sicurezza.

Puoi postare il valore nel popup da http://www.someotherwebsite.com a una pagina speciale su http://www.website1.com. Ora sei di nuovo nel dominio originale, quella pagina prende il valore GET e lo scrive in qualche JavaScript. Il codice JavaScript aggiorna quindi il valore da qualche parte nella finestra di apertura, utilizza opener.document.getElementById o chiama una funzione in apertura con qualcosa come opener.document.doSomething (val); che gestisce la risposta.

È pieno di potenziali errori (cosa succede se l’utente apre due copie della finestra? O chiude il sito originale?) E potenziali buchi di sicurezza, e i browser hanno la tendenza a reactjs male se si tenta di fare cose a Windows che non esistono o sono in domini diversi, ma in un ambiente conosciuto dovrebbe funzionare.