gpt4 book ai didi

javascript - 如何检查 WebView Javascript 接口(interface)是否可用?

转载 作者:太空宇宙 更新时间:2023-11-03 12:05:08 24 4
gpt4 key购买 nike

如果 JavaScript 接口(interface)可用/已定义,是否有任何正确的方法来检查 WebView 中的 JavaScript?

我的想法是在接口(interface)中定义一个检查方法,该方法(如果可用)可以被调用并简单地返回一个 true。难道没有合适的“官方”方式来做到这一点吗?因为如果接口(interface)不可用/未定义,它会抛出错误。

我正在使用 Android,这就是 Java 代码的原因:

webView.addJavascriptInterface(new WebAppinterface(this),"InterfaceName");

@JavascriptInterface
public void isInterfaceAvailabe (){
return true;
}

在 Javascript 中:

function hasJavaScriptInterface () {
if (InterfaceName.isInterfaceAvailable()){
return true;
}
else {
return false;
}
}

谢谢解答!

最佳答案

首先您需要检查 InterfaceName 是否实际导出,也就是说 -- 它是否作为 window 对象的属性出现。您可以通过多种方式做到这一点:

if ("InterfaceName" in window) ...

if (window.InterfaceName) ...

if (typeof window.InterfaceName === "function") ...

因为如果你只是尝试调用一个未定义的属性,你会得到一个错误:Uncaught TypeError: window.InterfaceName is not a function

关于javascript - 如何检查 WebView Javascript 接口(interface)是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041785/

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