我想要使用WebView在我的andoird應用上加載第三方url(http://domain1.com)。該網址的iframe與其他網域(http://domain2.com)有一個視頻播放器。頁面加載成功,但播放視頻時不加載(當設備的api級別爲< 21),並且android studio控制檯顯示下一條消息:阻止源「http://domain2.com」的幀訪問源於「http://www.domain1.com」的幀「協議,域和端口必須匹配。當設備的api級別> = 21時可以正常工作。Android WebView混合內容不在api級別加載<21
的WebView代碼:
WebView myWebView = (WebView) view.findViewById(R.id.webView);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
myWebView.getSettings().setAllowFileAccessFromFileURLs(true);
myWebView.setWebChromeClient(new WebChromeClient());
myWebView.loadUrl(urlWin);
if (Build.VERSION.SDK_INT >= 21) {
myWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
} else {
// Code for Build.VERSION.SDK_INT < 21
}
如何啓用API級別< 21的WebView混合內容?
請解釋一下代碼的作用 – webo80
至少說明有什麼區別,如果有的話。 –
@Mr。 B我已經從開發人員網站添加了一些說明,希望現在可以回答這個問題 –