0

我正在编写一个在 Android 上的 WebView 下运行的 HTML/JS 应用程序。在某些情况下,可能无法加载包含应用程序的页面,或者可能是另一个页面(例如 404 页面或类似页面)。一般来说,我需要在应用程序页面上运行一组 JS 函数或采取另一组操作,以防应用程序页面没有加载。

我试图通过检测适当的 JS 是否可用来检测是否加载了正确的页面,但我似乎找不到任何同步的方法 - 只能通过调用 JS 函数并期望通过JavasctiptInterface. 虽然这种方法是可行的,但我想知道是否有更好、更优雅、更可靠的方法来实现这一点。

我当然不能通过分析页面的 URL 来做到这一点——它可能是正确的,但内容有误。

有任何想法吗?

4

2 回答 2

0
@JavascriptInterface
public void onLoaded(String result) {
    if (result.equals("function")) {
        // defined
    } else {
       // not defined
    }
}

private void checkJSFunction() {
    loadUrl("javascript:yourJSInterfaceName.onLoaded(typeof yourFunctionName)");
}

更新:这段代码将检查“typeof”定义的JS函数,并通过javascript接口“onLoaded”将结果返回给java。

于 2016-07-08T05:42:59.747 回答
-1

我认为你可以做到,请查看PhoneGap项目,你会找到答案。

PhoneGap 是一个很棒的移动平台免费框架。

于 2012-04-09T08:33:42.733 回答