java如何使用GeckoView获取网页源代码
我是一名安卓开发人员,最近知道了GeckoView。 我可以通过安卓 WebView(java代码)获取网页的源代码
然而,在我的新网站上,安卓 Webview无法加载网页,但GeckoView可以。 现在我想通过GeckoView获得一个网页的源代码。 有没有人知道解决这个问题的办法
提前感谢
你可以在下面搜索框中键入要查询的问题!
我是一名安卓开发人员,最近知道了GeckoView。 我可以通过安卓 WebView(java代码)获取网页的源代码
然而,在我的新网站上,安卓 Webview无法加载网页,但GeckoView可以。 现在我想通过GeckoView获得一个网页的源代码。 有没有人知道解决这个问题的办法
提前感谢
# 1 楼答案
据我所知,您无法使用GeckoView获取源代码,但GeckoView库确实有GeckoWebExecutor。看看fetch方法及其返回的WebResponse
通过将
WebResponse.body
InputStream转换为字符串,可以获得源代码# 2 楼答案
执行此操作的一个选项可以遵循以下步骤:
所以
(1-2)正如您已经知道的,geckoview没有那种方便的
shouldOverrideUrlLoading()
方法,因此您必须处理NavigationDelegate
类,它有onLocationChange()
,我在其中放了这一行,它只不过是将当前url作为字符串保存到名为“geckoViewUrl”的SharedRef字符串中:之前有所有设置(SharedPref等)。检测到加载的页面并将url保存到SharedRef中,让我们转到最后一步3
(3)对于我的使用,我只希望允许用户查看(和复制)源代码,出于最小努力的原则,我使用另一个带有普通旧webview的活动来显示它。这很容易实现,不会给用户带来混乱。他/她想要查看代码,我会在另一个活动中显示代码。完成后,他/她关闭新活动,生活继续
那个么,用户想要源代码吗?使用webview加载另一个活动,并使其加载保存的sharedpref字符串:
这样做(例如),您会得到一个url用户想要查看分配给字符串变量的源代码。要完成此操作,您只需让webview加载这个字符串,前面加上宝贵的单词^{,如下所示:
就这样。当然,您可以使用相同的活动实现一个解决方案,或者使用geckoView,显示多个选项、菜单等。我只想向您展示一种以简单的方式解决问题的方法。您询问“如何使用GeckoView获取网页源代码”。答案是这样的。工作完美。如果这对你有好处,请接受这一正确答案。非常感谢。快乐编码