gpt4 book ai didi

android - 在 SPA 的情况下不调用 shouldOverrideUrlLoading 方法

转载 作者:行者123 更新时间:2023-11-29 00:56:51 25 4
gpt4 key购买 nike

使用 WebView 构建 android 应用程序,遇到问题。

我想将一个用 react.js 构建的单页应用程序放入 WebView,并在通过 shoudOverrideUrlLoading() 加载页面之前控制它在更改 url 上> 方法。但是 shoudOverrideUrlLoading() 从未被调用。

但是,如果是非单页应用,它就可以正常工作。

是不是WebView和SPA之间的问题?我猜是的,但没有引用资料。

最佳答案

shouldOverrideUrlLoading() 仅在renderer initiated 导航时被调用。这基本上意味着:

  • 用户点击了一个链接
  • 页面上的 JS 单击链接或以其他方式尝试导航(例如,window.location.href)
  • 一些其他导航的 HTTP 重定向(一些 3xx HTTP 代码)

与呈现器启动的导航相反的是浏览器启动 导航。这将包括任何 loadUrl()/loadData()/etc。方法 -- shouldOverrideUrlLoading() 不会为这些调用。

单页应用程序无法导航,因此不调用 API。您可以使用 addJavascriptInterface() 研究解决方案,其中用户点击会触发对注入(inject)的 JavascriptInterface 的方法调用(而不是直接调用 AJAX)。

关于android - 在 SPA 的情况下不调用 shouldOverrideUrlLoading 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54067458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com