XWalkView / XWalkResourceClient 中未调用 shouldOverrideUrlLoading
shouldOverrideUrlLoading not being called in XWalkView / XWalkResourceClient
我试图跟踪我的用户在浏览器中点击了哪些链接,但不幸失败了:
我的代码:
browser = new XWalkView(getMainActivity());
browser.setResourceClient(new XWalkResourceClient(browser)
{
@Override
public boolean shouldOverrideUrlLoading(XWalkView view, String url)
{
log.i("juhu 1", url);
return false;
}
});
这只会调用我提供给它的 URL 的回调 (browser.load()
),但不会调用用户随后在呈现的页面上单击的 URL 的回调。更糟糕的是,它并不一致:有时会调用回调,有时不会。
这是一个失败的例子:
<html>
<body>
<p><a href="#mylink">my link 1</a></p>
<p><a href="mylink">my link 2</a></p>
</body>
</html>
我用 XWalk 15.44.384.13(最新)和 14.43.343.24(几个版本)试过,都没有成功。
我到处寻找类似的方法,但资源客户端和 ui 客户端似乎都没有提供可行的方法。
至少从 XWalk 16.45.421.19 开始,这看起来已修复,并且按预期进行了调用。
我试图跟踪我的用户在浏览器中点击了哪些链接,但不幸失败了:
我的代码:
browser = new XWalkView(getMainActivity());
browser.setResourceClient(new XWalkResourceClient(browser)
{
@Override
public boolean shouldOverrideUrlLoading(XWalkView view, String url)
{
log.i("juhu 1", url);
return false;
}
});
这只会调用我提供给它的 URL 的回调 (browser.load()
),但不会调用用户随后在呈现的页面上单击的 URL 的回调。更糟糕的是,它并不一致:有时会调用回调,有时不会。
这是一个失败的例子:
<html>
<body>
<p><a href="#mylink">my link 1</a></p>
<p><a href="mylink">my link 2</a></p>
</body>
</html>
我用 XWalk 15.44.384.13(最新)和 14.43.343.24(几个版本)试过,都没有成功。
我到处寻找类似的方法,但资源客户端和 ui 客户端似乎都没有提供可行的方法。
至少从 XWalk 16.45.421.19 开始,这看起来已修复,并且按预期进行了调用。