Come si applica la politica della stessa origine tra le schede del browser? [duplicare]

3

Supponiamo di avere 2 schede aperte in un browser contenente la pagina A (A.html, A.js) nella prima scheda e la pagina B (B.html, B. js) nella seconda scheda e quella pagina A e B hanno la stessa origine (schema, dominio, porta).

  1. Can A.js può chiamare una funzione da B.js?
  2. A.js può modificare il DOM della pagina B.html?
posta westbeam87 28.01.2015 - 20:26
fonte

1 risposta

4

Can A.js call a function from B.js?

No, il javascript deve essere definito sulla tua pagina attuale

Can A.js modify the DOM of page B.html?

Sì, ma hai bisogno di un riferimento AND avere la stessa origine.

Se la pagina A ha un riferimento alla pagina B, è possibile che A modifichi il DOM in B.

La pagina A può avere un riferimento alla pagina B se la pagina A ha aperto la pagina B e salvato il riferimento. Anche la pagina B può accedere alla pagina A tramite la proprietà opener. Puoi aprire una nuova scheda / pagina in javascript con il codice seguente :

// Open a new window
var myWindow = window.open("", "myWindow", "width=200, height=100");

// Write some text in the new window
myWindow.document.write("<p>This is 'myWindow'</p>");     

// Write some text in the window that created the new window            
myWindow.opener.document.write("<p>This is the source window!</p>");

Limitazione della stessa politica di origine

Lo stesso criterio di origine limita a cosa è possibile accedere. Se le 2 pagine si trovano su domini diversi, non sarà possibile accedere alla proprietà window.document per leggere o scrivere. Ecco un elenco di a cosa è possibile accedere quando l'altra pagina proviene da un dominio diverso .

    
risposta data 28.01.2015 - 21:06
fonte

Leggi altre domande sui tag