In un'app Cordova su cui sto lavorando c'è un iframe. Il problema è che quando si verifica l'app (sia sul simulatore che sul dispositivo) l'iframe è vuoto. Su Android l'iframe funziona perfettamente però.Cordova iOS iframe vuoto
L'iframe viene caricato dinamicamente in una direttiva Angolare.
All'interno della funzione di collegamento direttiva il seguente codice viene utilizzato per caricare e aggiungere l'iframe all'elemento della direttiva:
var iframe = angular.element('<iframe class="widget" width="' + widgetWidth + '" height="' + widgetHeight + '"></iframe>');
iframe.attr('src', url);
element.append(iframe);
Ho anche provato con qualcosa nelle righe seguenti:
var iframe = document.createElement('iframe');
iframe.src = url;
Ciò risulta in qualcosa del genere (utilizzando Safari web inspector):
<iframe class="widget" width="384" height="505" src="http://hostname/correct/uri"></iframe>
Nel mio file index.html Ho la seguente serie:
<meta http-equiv="Content-Security-Policy" content="script-src * 'unsafe-eval'; connect-src * 'unsafe-eval'; object-src 'self'; style-src * 'unsafe-inline';">
devo anche le seguenti righe nel mio Cordova config.xml:
<access origin="*" subdomains="true" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
C'è anche errori o avvisi in Safari Web Ispettore.
Quindi la mia domanda è, c'è qualche trucco per far funzionare iFrame nelle app iOS di Cordova che mi mancano. O cosa c'è di sbagliato nel mio attuale codice di configurazione?
Sto usando angularjs 1.5.3 e ho jquery 2.2.1 (caricato prima di angularjs) nel caso in cui questo aiuti.
Dopo ulteriori test, ho anche notato che l'evento onload dell'iframe non viene mai attivato. Nel caso qualcuno abbia qualche idea su questo. – Jan