我正在尝试开发一种跨平台(iOS和Android)解决方案,以在Web视图中混合缓存和网络加载的内容。在Android中,我可以只加载https://www.example.com
,然后挂接到shouldInterceptRequest
并返回缓存的内容。但是我无法在iOS中做到这一点,而不得不使用自定义URL方案-将Webview指向mycustomscheme://www.example.com
,然后拦截其事件。
出于跨平台一致性的考虑,我想在Android上执行相同的操作。初始页面加载似乎很好-我请求mycustomscheme://www.example.com
,触发shouldInterceptRequest
事件,然后返回内容。但是我返回的HTML具有链接的样式表和JS文件,并且浏览器从未尝试加载它们。即使查看调试器工具,它们也不会出现在“网络”选项卡中,并且没有控制台错误。
看起来很像浏览器只是忽略了它无法理解的任何URL方案,除非它位于页面本身的URL中。谁能确认这是真的,是否有允许自定义方案的选项?