Ho iframe (dominio incrociato) con src da facebook, twitter o ecc. Ho bisogno di ottenere l'altezza di iframe ma ho il problema: "Autorizzazione negata per accedere alla proprietà 'documento'". Per favore aiutami a risolvere questo. Grazie molto!Come ottenere l'altezza di iframe nel dominio incrociato
risposta
Problemi di coppia. Innanzitutto, l'altezza di iframe
probabilmente non è quello che desideri. Voglio dire che è impostato in modo esplicito nel codice HTML della pagina che controlli ed è facilmente accessibile e modificabile attraverso qualsiasi mezzo Javascript. Quello che ti sembra dopo è l'altezza della pagina all'interno dell'iframe. Se è così, la risposta più semplice è che non puoi, almeno non con servizi esterni come Facebook/Twitter.
Per motivi di sicurezza, si può facilmente passare i messaggi da bambino a genitore, ma non da genitore a figlio, a meno che un percorso di comunicazione è stato integrato nel tuo javascript in entrambi i documenti. C'è un protocollo postMessage
per gestirlo nei browser moderni. https://developer.mozilla.org/en/DOM/window.postMessage. Ma, in questo caso, è completamente inutile a meno che il documento con cui stai comunicando sia configurato per gestire un messaggio in arrivo, che a mia conoscenza Twitter/Facebook spesso non lo è.
Se un documento genitore potrebbe liberamente comunicare con i bambini provenienti da diversi domini, quindi qualsiasi JavaScript si potrebbero effettivamente eseguire qualsiasi serie di comandi su qualsiasi sito che si è registrato nel come. Le implicazioni sulla sicurezza di questo sono spaventose e per fortuna non sono possibili.
Non vi sono opzioni in javascript per trovare l'altezza di un'altezza iframe per più domini, ma è possibile fare qualcosa di simile con l'aiuto di alcuni programmi di programmazione lato server. Ho usato PHP per questo esempio
<?php
$output = file_get_contents('http://yourdomain.com');
?>
<div id='iframediv'>
<?php echo $output; ?>
</div>
<iframe style='display:none' id='iframe' src="http://yourdomain.com" width="100%" marginwidth="0" height="100%" marginheight="0" align="top" scrolling="auto" frameborder="0" hspace="0" vspace="0"> </iframe>
<script>
if(window.attachEvent) {
window.attachEvent('onload', iframeResizer);
} else {
if(window.onload) {
var curronload = window.onload;
var newonload = function(evt) {
curronload(evt);
iframeResizer(evt);
};
window.onload = newonload;
} else {
window.onload = iframeResizer;
}
}
function iframeResizer(){
var result = document.getElementById("iframediv").offsetHeight;
document.getElementById("iframe").style.height = result;
document.getElementById("iframediv").style.display = 'none';
document.getElementById("iframe").style.display = 'inline';
}
</script>
- 1. Problema iframe di dominio incrociato
- 2. Ottenere l'URL src corrente iframe nel dominio incrociato
- 3. Rilevamento carico contenuto iframe di dominio incrociato
- 4. stampa un pdf tramite iframe (dominio incrociato)
- 5. Problemi di dominio incrociato con iframes
- 6. Controllo accesso dominio incrociato?
- 7. Richiesta dominio incrociato di Firefox
- 8. Come implementare l'accesso agli URL del dominio incrociato da un Iframe utilizzando Javascript?
- 9. usa jsonp per ottenere il dominio incrociato xml
- 10. problema di dominio incrociato con Jquery
- 11. Impostazione posizione genitore JavaScript di dominio incrociato errore firefox
- 12. Problema con il cookie di dominio incrociato di Google Chrome con iframe
- 13. Capire il problema del dominio incrociato in iframes
- 14. Chiudi iframe cross dominio
- 15. Caricamento immagine dominio incrociato Angolare + laravel
- 16. SCRIPT5: accesso negato. Fancybox iFrame. Stesso dominio
- 17. jQuery - Come rimuovere la limitazione del dominio incrociato
- 18. Come ottenere contenuti INTERO di iframe?
- 19. Come aggiungere il supporto del dominio incrociato al servizio WCF
- 20. Come analizzare il dominio incrociato XML in jQuery?
- 21. C#: ottenere informazioni sul computer nel dominio
- 22. EnableCrossAppRedirects: dove viene documentata la funzionalità del dominio incrociato?
- 23. Il dominio incrociato non funziona con signalr 2.0
- 24. Chiamata Ajax del dominio incrociato nella shell Atom
- 25. Dominio incrociato jQuery Richiesta Ajax e WCF REST Service
- 26. Il passaporto js non riesce a mantenere la sessione nel dominio incrociato
- 27. Protezione di iFrame - Consenti solo di funzionare su un dominio
- 28. Servizio REST AJAX per il dominio incrociato Intestazioni HTTP
- 29. Faye su Heroku: Problemi con il dominio incrociato
- 30. Come impostare un cookie per iframe sullo stesso dominio