HarmonyOS 鸿蒙Next webview运行js代码
HarmonyOS 鸿蒙Next webview运行js代码
如图所示,能保证temp和_this.m_nDelay是非无穷非NAN的Number类型变量,但是为什么sub的结果会是NaN?
更多关于HarmonyOS 鸿蒙Next webview运行js代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
查阅了一下参考链接,在JavaScript中,出现数量相加等于NaN的原因主要有:数据类型不匹配、未初始化的变量、隐式类型转换。
建议可以先排除一下,在 sub = temp - m_nDelay 改为:
sub = Number(temp) - this.m_nDelay // 测试1
sub = temp - Number(this.m_nDelay) // 测试2
因为Math.floor方法也是同样的效果。
我这边测试正常。
let temp = 3; // number
console.log(typeof temp);
let temp2 = 10; // number
console.log(typeof temp2);
var sub = temp % temp2; // 3
console.log(sub);
如果还是无法解决问题,可以提个工单进一步定位。
https://developer.huawei.com/consumer/cn/support/feedback/#/?channel=ICS0000
更多关于HarmonyOS 鸿蒙Next webview运行js代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next环境中,Webview组件用于加载和显示网页内容,包括执行JavaScript代码。要在Webview中运行JavaScript代码,你可以通过以下步骤实现:
-
加载Webview:首先,确保你的应用中已经集成了Webview组件,并且已经加载了一个包含JavaScript代码的网页。
-
执行JavaScript代码:
- 使用
evaluateJavascript
方法:在Webview加载完成后,你可以调用evaluateJavascript
方法,并传入你想要执行的JavaScript代码字符串。这个方法会异步执行传入的JavaScript代码,并可以通过回调获取执行结果。 - 示例代码(伪代码):
webview.loadUrl("your_webpage_url"); webview.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); view.evaluateJavascript("your_javascript_code", new ValueCallback<String>() { @Override public void onReceiveValue(String value) { // 处理JavaScript执行结果 } }); } });
- 注意:上述代码为伪代码,实际使用时需要根据HarmonyOS的API文档进行调整,特别是方法名和回调处理部分。
- 使用
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html