我正在编写一个在Android上的WebView下运行的HTML / JS应用程序。在某些情况下,可能无法加载包含应用程序的页面,或者可能改为使用其他页面(例如404页面或类似页面)。通常,我需要在应用程序页面上运行一组JS函数,或者在应用程序页面未加载的情况下采取另一组操作。
我正在尝试通过检测相应的JS是否可用来检测正确的页面是否已加载,但我似乎无法找到任何方法同步执行 - 只需调用JS函数并期望通过回调JavasctiptInterface
。虽然这种方法是可行的,但我想知道是否有更好,更优雅,更可靠的方法来实现这一目标。
我当然不能通过分析网页的网址来做到这一点 - 它可能是正确的,但内容错误。
有什么想法吗?
答案 0 :(得分:0)
我认为你可以做到,请看PhoneGap项目,你会找到答案。
PhoneGap是一个非常棒的移动平台免费框架。
答案 1 :(得分:0)
@JavascriptInterface
public void onLoaded(String result) {
if (result.equals("function")) {
// defined
} else {
// not defined
}
}
private void checkJSFunction() {
loadUrl("javascript:yourJSInterfaceName.onLoaded(typeof yourFunctionName)");
}
<强>更新强>: 这段代码将检查由#34; typeof&#34;定义的JS函数。并通过javascript接口将其结果返回给java&#34; onLoaded&#34;。