具有自定义协议/方案的Android WebView:我能否使其正确加载资产?

时间:2018-07-23 15:22:40

标签: android android-webview google-chrome-webview

我正在尝试开发一种跨平台(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中。谁能确认这是真的,是否有允许自定义方案的选项?

0 个答案:

没有答案