在我工作的Cordova應用程序中有一個iframe。問題是,當測試應用程序(模擬器和設備)時,iframe是空白的。在Android上,iframe可以很好地工作。Cordova iOS空白iframe
iframe在Angular指令中動態加載。
在該指令鏈接功能下面的代碼是用來加載和iframe,追加到該指令的元素:
var iframe = angular.element('<iframe class="widget" width="' + widgetWidth + '" height="' + widgetHeight + '"></iframe>');
iframe.attr('src', url);
element.append(iframe);
我已經使用在以下的說法也試過:
var iframe = document.createElement('iframe');
iframe.src = url;
這導致類似於以下(使用Safari網絡檢查器):
<iframe class="widget" width="384" height="505" src="http://hostname/correct/uri"></iframe>
在我的index.html文件,我有以下設置:
<meta http-equiv="Content-Security-Policy" content="script-src * 'unsafe-eval'; connect-src * 'unsafe-eval'; object-src 'self'; style-src * 'unsafe-inline';">
我也有我的科爾多瓦config.xml中的以下行:
<access origin="*" subdomains="true" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
也有在Safari網頁沒有錯誤或警告督察。
所以我的問題是,有一些技巧讓iFrames在科爾多瓦iOS應用程序中工作,我失蹤了。或者我當前的配置/代碼出了什麼問題?
我使用的是angularjs 1.5.3,並有jquery 2.2.1(在angularjs之前加載)以防萬一。
經過一些進一步的測試後,我也注意到iframe的onload事件從未被觸發。以防萬一有人對此有所瞭解。 – Jan