Ottenere l'altezza di iframe se l'iframe ospita un sito ESTERNO il cui codice NON è ansible accedere

Possibile duplicazione:
per adattarlo all'altezza del contenuto

Come descritto nel titolo della domanda. Sto cercando un modo per regolare l'altezza del mio iframe in base all'altezza del sito web che ospita il mio iframe. Perché ho bisogno di liberarmi del rotolo verticale del mio iframe. Allo stesso tempo, non voglio impostare un'altezza statica molto grande per il mio iframe, in quanto questo non è bello quando ho pagine a piccole altezze.

Ho trovato molte soluzioni relative al mio problema, ma non riesco a risolvere il mio problema:

(*) Modifica dell'altezza di iframe mentre iframe ospita una pagina interna è facile. È sufficiente aggiungere il seguente script al tuo evento onload su iframe:

var frame = (document.getElementById) ? document.getElementById("YourFrameID") : document.all["YourFrameID"]; var pageh = document.frames("YourFrameID").document.body.scrollHeight; frame.style.height = pageh + 'px'; 

Ma come lo sapreste, quando la src dell'eframe è al di fuori del dominio che ha l'iframe. lo script si blocca e genera il messaggio di errore "Accesso negato".

(*) Infine, so che il mio objective può essere raggiunto se ho accesso alle pagine che ospita il mio iframe. Forse la tecnica è chiamata "Cross-Domain Communication".

TUTTAVIA, il mio iframe sta cercando di ospitare pagine da siti web ESTERNI, e non c'è accesso a tali siti web.

Questa domanda è stata posta molte volte. Saliamo di questo problema fornendo una risposta finale 🙂

Oppure .. diciamo che il raggiungimento del mio objective specifico non è applicabile.

Si noti che utilizzo ASP.NET 4.0

Grazie,

Non è semplicemente ansible grazie ai motivi di sicurezza cross domain.

Si potrebbe usare la tecnica uomo-in-the-middle. Invece di indicare l'iframe direttamente nel target previsto, indicarlo in una pagina del server che:

  1. Recupera l'URL richiesto e inizia lo script.

  2. Riscrive le immagini e altre risorse che hanno URL relativi per utilizzare l'URL assoluto di quel punto verso l'origine.

Questo è disordinato e errato.

In alternativa, se si dispone di una sorta di rendering HTML sul server, è ansible recuperare il documento, analizzarlo e richiedere l'altezza. Ciò è disordinato, lento, errato, e non compatibile con il cross browser.

Penso che la vera risposta che stai cercando è, no, non esiste un metodo affidabile per get questo effetto senza la collaborazione della risorsa multidominale.