&引用;不安全的Javascript试图访问帧“;在Android WebChromeClient WebView中
我正在实现一个WebView片段,该片段从活动传递的HTML加载其内容。 基本上,HTML内容只是一个段落和一段被盗用的youtube视频。 在emulator中,一切正常(Nexus 5X API 24),但当我在真实设备(API 17)中测试它时,WebView只显示段落和一个黑匣子(youtube视频应该加载的地方) 日志显示此错误:&引用;不安全的Javascript试图访问帧“;在Android WebChromeClient WebView中,javascript,android,webview,youtube,Javascript,Android,Webview,Youtube,我正在实现一个WebView片段,该片段从活动传递的HTML加载其内容。 基本上,HTML内容只是一个段落和一段被盗用的youtube视频。 在emulator中,一切正常(Nexus 5X API 24),但当我在真实设备(API 17)中测试它时,WebView只显示段落和一个黑匣子(youtube视频应该加载的地方) 日志显示此错误: E/Web Console: Unsafe JavaScript attempt to access frame with URL about:blank
E/Web Console: Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL https://www.youtube.com/embed/blablabla. Domains, protocols and ports must match.
我甚至尝试使用此配置禁用所有安全检查(是的,我知道这不是一件好事):
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAllowFileAccessFromFileURLs(true);
mWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setJavaScriptEnabled(true);
但错误依然存在,奇怪的是,在emulator中,它工作得非常完美,我编写了另一个应用程序,它使用相同的代码但没有片段,完成了完全相同的事情,而且它工作得很好!
什么会导致此错误?我发现这与SOP有关,但无论如何它都不应该起作用,但它确实起作用。好吧,我错了,即使是真实设备中的其他应用程序也不能正常工作