ottenere l’accesso è negato errore su IE8

Ho un modulo HTML ( upload.htm ) con un controllo di caricamento di file HTML al suo interno.

C’è anche un metodo JavaScript nella pagina sopra che va come:

 function performUpload(){ document.getElementById('frmupload').submit(); } 

Lo chiamo all’interno di una pagina ( uploadpage.htm ) all’interno di un iframe :

  

Provo ad eseguire la dichiarazione mostrata sotto dalla pagina uploadpage.htm :

 var i = document.getElementById('docframe'); i.contentWindow.performUpload(); 

Viene visualizzato un errore che dice Accesso negato e il debugger si arresta alla prima funzione JavaScript che ho mostrato. Entrambi i file si trovano nella stessa posizione nel progetto web. Hanno lo stesso nome di dominio anche. Perché ottengo questo errore allora?

    Naturalmente, in precedenza, avrei potuto pubblicare la pagina: quando non ho impostato l’attributo name per il controllo del caricamento HTML. Ma dopo aver impostato l’attributo name nel markup HTML, ottengo questo strano errore. Perché non l’ho preso la prima volta?

    Ho dato un’occhiata a questo post -> “Accesso negato” quando lo script tenta di accedere a iframe in IE8 , ma non è stato d’aiuto.

    IE non consente la manipolazione dell’elemento di input type = “file” da javascript per motivi di sicurezza. L’impostazione del nome file o il richiamo di un evento click per mostrare la finestra di dialogo del browser comporterà un errore “Accesso negato” sul modulo di invio – Internet Explorer è intelligente nel ricordare quali metodi sono stati richiamati.

    Problema simile: http://www.webdeveloper.com/forum/showthread.php?t=181272

    Tradizionalmente, l’accesso JavaScript al input type="file" HTML input type="file" è severamente limitato per motivi di sicurezza. AFAIK, Non puoi eseguire quanto segue con JS su un elemento uploader di file:

    1. Non puoi leggere il “valore” dell’elemento in quanto contiene il nome del file.
    2. Non è ansible triggersre il menu di selezione file tramite JS.
    3. Non puoi licenziare l’invio del controllo dell’uploader di file tramite JS.

    Tutto questo è a posto per prevenire attacchi malevoli come rubare i tuoi file in background tramite JS. Non ho giocato con un elemento input type="file" in un istante, ma la mia migliore ipotesi è che colpirà problemi simili (se non tutti) anche in altri browser.

    La soluzione migliore è una soluzione basata su Flash o forse un nuovo controllo HTML5.

    Inoltre, ecco un riferimento ufficiale sull’argomento:

    http://msdn.microsoft.com/en-us/library/ms535263(v=vs.85).aspx

    Controlla “Contenuto della community” fino in fondo alla pagina sopra.

    In entrambi i file HTML, uno che è nel frame e un altro che contiene il frame, prova ad aggiungere document.domain='example.com' dove ‘example.com’ è il tuo nome di dominio.