我最近将我的 UIWebview
替换为我的混合应用程序中的 WKWebview
。我正在使用自定义方案从应用程序的 native 部分加载图像,正如 Apple 在此处推荐的那样:
https://developer.apple.com/videos/play/wwdc2017/220/
我正在从一个看起来像 mycustomscheme://?path=somepath
我添加了 Content-Security-Policy header 以允许混合内容,它看起来像这样(不相关的部分已删除):
Content-Security-Policy: default-src 'self' www.myurl.com ; img-src 'self' mycustomscheme: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ; report-uri https://www.myreporturl.com/
这适用于大多数设备并允许对 mycustomscheme
的请求通过,并在有任何被阻止时报告给 myreporturl
。但是,在某些设备上,自定义请求会因以下错误而被阻止:
[Warning] [blocked] https://www.myurl.com 的页面不允许显示来自 mycustomscheme://?path=somepath
的不安全内容,并且没有报告被发送到 myreporturl
,就好像根本没有加载 header 一样。
我已确认 header 已实际发送,并且有问题的设备正在运行最新的 iOS (12.1.4)。
任何有关如何防止我的自定义请求被阻止的建议都将不胜感激!
最佳答案
尝试以下加载图像策略:
img-src 'self' 'unsafe-inline' 'unsafe-eval' data: http: https: mycustomscheme: filesystem: file:;
关于ios - WKWebview [警告] [已阻止] 不允许位于 https ://www. myurl.com 的页面显示来自 mycustomscheme ://? path=somepath 的不安全内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54773828/